diff --git a/.github/ISSUE_TEMPLATE/01_bug_report.md b/.github/ISSUE_TEMPLATE/01_bug_report.md deleted file mode 100644 index 87df8b5cca..0000000000 --- a/.github/ISSUE_TEMPLATE/01_bug_report.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -name: Bug Report -about: Report an issue in swagger-core -title: "[Bug]: " -labels: Bug -assignees: '' ---- - -## Description of the problem/issue - - - -## Affected Version - - -e.g. 2.2.21 - - -Earliest version the bug appears in (if known): -e.g. 2.2.17 - -## Steps to Reproduce - - - -1. ... -2. ... -3. ... - -## Expected Behavior - - - -## Actual Behavior - - - -## Logs / Stack Traces - - - -## Additional Context - - - -## Checklist - -- [ ] I have searched the [existing issues](https://github.com/swagger-api/swagger-core/issues) and this is not a duplicate. -- [ ] I have provided sufficient information for maintainers to reproduce the issue. diff --git a/.github/ISSUE_TEMPLATE/02_question.md b/.github/ISSUE_TEMPLATE/02_question.md deleted file mode 100644 index 45f6b5c21f..0000000000 --- a/.github/ISSUE_TEMPLATE/02_question.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -name: Question -about: Ask a question about swagger-core usage or behavior -title: "[Question]: " -labels: Question -assignees: '' ---- - -## Question - - - -## Affected Version - - -e.g. 2.2.21 - -## Context - - - -```java -// Example code snippet here -``` - -## Additional Details - - - -## Checklist - -- [ ] I have searched the [existing issues](https://github.com/swagger-api/swagger-core/issues) and documentation before asking. -- [ ] I have provided enough information for others to understand my question. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/03_feature_request.md b/.github/ISSUE_TEMPLATE/03_feature_request.md deleted file mode 100644 index 9450a7b501..0000000000 --- a/.github/ISSUE_TEMPLATE/03_feature_request.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -name: Feature Request -about: Suggest a new feature or enhancement for swagger-core -title: "[Feature]: " -labels: Feature -assignees: '' ---- - -## Feature Description - - - -## Use Case - - - -## Suggested Solution (optional) - - - -## Alternatives Considered - - - -## Additional Context - - - -## Checklist - -- [ ] I have searched the [existing issues](https://github.com/swagger-api/swagger-core/issues) to ensure this is not a duplicate. -- [ ] This feature would be useful to more than just my use case. -- [ ] I have provided enough detail for the maintainers to understand the scope of the request. diff --git a/.github/actions/check-bom-version/action.yml b/.github/actions/check-bom-version/action.yml new file mode 100644 index 0000000000..c9d47fa1ea --- /dev/null +++ b/.github/actions/check-bom-version/action.yml @@ -0,0 +1,13 @@ +name: 'Check BOM version' +description: 'Verify swagger-bom version matches root POM version' +runs: + using: "composite" + steps: + - run: | + ROOT_VERSION=$(./mvnw -q -DforceStdout help:evaluate -Dexpression=project.version --non-recursive) + BOM_VERSION=$(./mvnw -q -DforceStdout help:evaluate -Dexpression=project.version --non-recursive --file modules/swagger-bom/pom.xml) + if [ "${ROOT_VERSION}" != "${BOM_VERSION}" ]; then + echo "ERROR: swagger-bom version mismatch" + exit 1 + fi + shell: bash \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bf50a63f91..cc9f236dba 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,14 +5,4 @@ updates: directory: "/" schedule: interval: "daily" - ignore: - - dependency-name: "*" - update-types: ["version-update:semver-major"] - - package-ecosystem: "maven" - target-branch: "1.5" - directory: "/" - schedule: - interval: "daily" - ignore: - - dependency-name: "*" - update-types: ["version-update:semver-major"] \ No newline at end of file + open-pull-requests-limit: 50 \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index d8d9a24e9d..0000000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,43 +0,0 @@ -# Pull Request - -Thank you for contributing to **swagger-core**! - -Please fill out the following information to help us review your PR efficiently. - ---- - -## Description - - - -Fixes: - -## Type of Change - - - -- [ ] šŸ› Bug fix -- [ ] ✨ New feature -- [ ] ā™»ļø Refactor (non-breaking change) -- [ ] 🧪 Tests -- [ ] šŸ“ Documentation -- [ ] 🧹 Chore (build or tooling) - -## Checklist - - - -- [ ] I have added/updated tests as needed -- [ ] I have added/updated documentation where applicable -- [ ] The PR title is descriptive -- [ ] The code builds and passes tests locally -- [ ] I have linked related issues (if any) - -## Screenshots / Additional Context - - \ No newline at end of file diff --git a/.github/topissuebot.yml b/.github/topissuebot.yml deleted file mode 100644 index f48b026e70..0000000000 --- a/.github/topissuebot.yml +++ /dev/null @@ -1,3 +0,0 @@ -labelName: ":thumbsup: Top Issue!" -labelColor: "f442c2" -numberOfIssuesToLabel: 5 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..cf10b3e5e6 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,67 @@ +name: Build + +on: + push: + branches: [ "master" ] + paths-ignore: + - '**.md' + - 'docs/**' + - '**.adoc' + pull_request: + branches: [ "master" ] + paths-ignore: + - '**.md' + - 'docs/**' + - '**.adoc' + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + java: [ 17, 25 ] + + steps: + - uses: actions/checkout@v7 + + - name: Set up Java + uses: actions/setup-java@v5 + with: + java-version: ${{ matrix.java }} + distribution: temurin + cache: 'maven' + server-id: central + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v6 + with: + cache-read-only: ${{ github.event_name == 'pull_request' }} + + - name: Check swagger-bom version matches root version + uses: ./.github/actions/check-bom-version + + - name: Build with Maven and Gradle + run: | + ./mvnw --no-transfer-progress -B -T 1C install --file pom.xml + cd ./modules/swagger-gradle-plugin + ./gradlew build --info --build-cache --parallel + cd ../.. + + - name: Deploy SNAPSHOT to Maven Central (only on push to master with Java 17) + if: github.event_name == 'push' && matrix.java == 17 + run: | + MY_POM_VERSION=$(./mvnw -q -DforceStdout help:evaluate -Dexpression=project.version --non-recursive) + echo "POM VERSION: $MY_POM_VERSION" + if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]]; then + ./mvnw --no-transfer-progress -B -T 1C clean deploy -e + else + echo "Not a SNAPSHOT version, skipping deployment." + fi + env: + MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + + - name: Verify BOM integration test + run: ./mvnw --no-transfer-progress -B -T 1C validate -Pbom-it \ No newline at end of file diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 509190a473..ef1f722064 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -2,73 +2,61 @@ name: "Code scanning - action" on: push: - branches: [master, 1.5] + branches: [master] pull_request: - # The branches below must be a subset of the branches above - branches: [master, 1.5] + branches: [master] schedule: - cron: '0 19 * * 1' jobs: CodeQL-Build: - runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write - strategy: fail-fast: false - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - - name: Set up Java - uses: actions/setup-java@v5 - with: - java-version: 11 - distribution: temurin - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v4 - # Override language selection by uncommenting this and choosing your languages - with: - languages: java - - - name: Cache local Maven repository - uses: actions/cache@v5 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-jdk11-maven-v2-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-jdk11-maven-v2- - - name: Set up Gradle - uses: gradle/actions/setup-gradle@v6 - with: - cache-provider: basic - - name: Build with Maven - run: ./mvnw --no-transfer-progress -B -e install --file pom.xml - - name: Upload Maven test reports - if: failure() - uses: actions/upload-artifact@v6 - with: - name: surefire-reports-codeql - path: | - **/target/surefire-reports/** - **/target/failsafe-reports/** - - name: Build Gradle plugin - working-directory: modules/swagger-gradle-plugin - run: ./gradlew build --info --stacktrace --no-daemon - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 + - name: Checkout repository + uses: actions/checkout@v7 + with: + fetch-depth: 2 + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + - name: Set up Java + uses: actions/setup-java@v5 + with: + java-version: 17 + distribution: temurin + cache: 'maven' + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v6 + with: + cache-provider: basic + + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: java + + - name: Build with Maven + run: ./mvnw --no-transfer-progress -B -e -T 1C install --file pom.xml + + - name: Build Gradle plugin + working-directory: modules/swagger-gradle-plugin + run: ./gradlew build --info --build-cache --parallel --no-daemon + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v4 + + - name: Upload Maven test reports + if: failure() + uses: actions/upload-artifact@v6 + with: + name: surefire-reports-codeql + path: | + **/target/surefire-reports/** + **/target/failsafe-reports/** \ No newline at end of file diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index cc4d0888b6..a0b56a5b33 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -9,8 +9,8 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Dependency Review - uses: actions/dependency-review-action@v4 + uses: actions/dependency-review-action@v5 with: fail-on-severity: high diff --git a/.github/workflows/maven-pulls.yml b/.github/workflows/maven-pulls.yml deleted file mode 100644 index c28e0391bd..0000000000 --- a/.github/workflows/maven-pulls.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Build Test PR - -on: - pull_request: - branches: [ "master" ] - -jobs: - build: - - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 11, 17 ] - - steps: - - uses: actions/checkout@v6 - - name: Set up Java - uses: actions/setup-java@v5 - with: - java-version: ${{ matrix.java }} - distribution: temurin - server-id: central - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD - - name: Cache local Maven repository - uses: actions/cache@v5 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-jdk${{ matrix.java }}-maven-v2-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-jdk${{ matrix.java }}-maven-v2- - - name: Set up Gradle - uses: gradle/actions/setup-gradle@v6 - with: - cache-provider: basic - - name: Check swagger-bom version matches root version - run: | - ROOT_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec) - BOM_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec --file modules/swagger-bom/pom.xml) - echo "Root version: ${ROOT_VERSION}" - echo "BOM version: ${BOM_VERSION}" - if [ "${ROOT_VERSION}" != "${BOM_VERSION}" ]; then - echo "ERROR: swagger-bom version (${BOM_VERSION}) does not match root version (${ROOT_VERSION}). Update modules/swagger-bom/pom.xml." - exit 1 - fi - - name: Build with Maven - run: ./mvnw --no-transfer-progress -B -e install --file pom.xml - - name: Upload Maven test reports - if: failure() - uses: actions/upload-artifact@v6 - with: - name: surefire-reports-java-${{ matrix.java }} - path: | - **/target/surefire-reports/** - **/target/failsafe-reports/** - - name: Build Gradle plugin - working-directory: modules/swagger-gradle-plugin - run: ./gradlew build --info --stacktrace --no-daemon - - name: Verify BOM integration test - run: ./mvnw --no-transfer-progress -B validate -Pbom-it diff --git a/.github/workflows/maven-v1-pulls.yml b/.github/workflows/maven-v1-pulls.yml deleted file mode 100644 index 5c898625cd..0000000000 --- a/.github/workflows/maven-v1-pulls.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Build Test PR 1.5 - -on: - pull_request: - branches: [ "1.5" ] - -jobs: - build: - - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 11, 17 ] - - steps: - - uses: actions/checkout@v6 - - name: Set up Java - uses: actions/setup-java@v5 - with: - java-version: ${{ matrix.java }} - distribution: temurin - - name: Cache local Maven repository - uses: actions/cache@v5 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Build with Maven and Gradle - run: ./mvnw -B -Dhttps.protocols=TLSv1.2 verify --file pom.xml diff --git a/.github/workflows/maven-v1.yml b/.github/workflows/maven-v1.yml deleted file mode 100644 index f178e31148..0000000000 --- a/.github/workflows/maven-v1.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Build Test Deploy 1.5 - -on: - push: - branches: [ "1.5" ] - -jobs: - build: - - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 11, 17 ] - - steps: - - uses: actions/checkout@v6 - - name: Set up Java - uses: actions/setup-java@v5 - with: - java-version: ${{ matrix.java }} - distribution: temurin - server-id: sonatype-nexus-snapshots - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD - - name: Cache local Maven repository - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Build with Maven and Gradle - run: | - ./mvnw -B -Dhttps.protocols=TLSv1.2 verify --file pom.xml - export MY_JAVA_VERSION=`java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1` - echo "JAVA VERSION" ${MY_JAVA_VERSION} - if [[ ${MY_JAVA_VERSION} == "11" ]]; - then - export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` - echo "POM VERSION" ${MY_POM_VERSION} - if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]]; - then - ./mvnw -B -Dhttps.protocols=TLSv1.2 clean deploy - else - echo "not deploying release: " ${MY_POM_VERSION} - fi - else - echo "not deploying on java version: " ${MY_JAVA_VERSION} - fi - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index 49d7bbfdc1..0000000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,80 +0,0 @@ -name: Build Test Deploy master - -on: - push: - branches: [ "master" ] - -jobs: - build: - - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 11, 17 ] - - steps: - - uses: actions/checkout@v6 - - name: Set up Java - uses: actions/setup-java@v5 - with: - java-version: ${{ matrix.java }} - distribution: temurin - server-id: central - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD - - name: Cache local Maven repository - uses: actions/cache@v5 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-jdk${{ matrix.java }}-maven-v2-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-jdk${{ matrix.java }}-maven-v2- - - name: Set up Gradle - uses: gradle/actions/setup-gradle@v6 - with: - cache-provider: basic - - name: Check swagger-bom version matches root version - run: | - ROOT_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec) - BOM_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec --file modules/swagger-bom/pom.xml) - echo "Root version: ${ROOT_VERSION}" - echo "BOM version: ${BOM_VERSION}" - if [ "${ROOT_VERSION}" != "${BOM_VERSION}" ]; then - echo "ERROR: swagger-bom version (${BOM_VERSION}) does not match root version (${ROOT_VERSION}). Update modules/swagger-bom/pom.xml." - exit 1 - fi - - name: Check project snapshot version - id: project-version - run: | - export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` - echo "POM VERSION" ${MY_POM_VERSION} - if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]]; - then - echo "is_snapshot=true" >> $GITHUB_OUTPUT - else - echo "is_snapshot=false" >> $GITHUB_OUTPUT - echo "not building and maven publishing project as it is a release version: " ${MY_POM_VERSION} - fi - - name: Build with Maven - if: steps.project-version.outputs.is_snapshot == 'true' - run: ./mvnw --no-transfer-progress -B -e install --file pom.xml - - name: Upload Maven test reports - if: failure() - uses: actions/upload-artifact@v6 - with: - name: surefire-reports-java-${{ matrix.java }} - path: | - **/target/surefire-reports/** - **/target/failsafe-reports/** - - name: Build Gradle plugin - if: steps.project-version.outputs.is_snapshot == 'true' - working-directory: modules/swagger-gradle-plugin - run: ./gradlew build --info --stacktrace --no-daemon - - name: Deploy snapshot to maven central - if: steps.project-version.outputs.is_snapshot == 'true' && matrix.java == 11 - run: ./mvnw --no-transfer-progress -B clean deploy -e - env: - MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} - - name: Verify BOM integration test - run: ./mvnw --no-transfer-progress -B validate -Pbom-it diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml deleted file mode 100644 index 47cbdccf1f..0000000000 --- a/.github/workflows/prepare-release.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: Prepare Release - -on: - workflow_dispatch: - branches: ["master"] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v6 - - uses: actions/create-github-app-token@v3 - id: generate-token - with: - client-id: ${{ secrets.APP_ID }} - private-key: ${{ secrets.APP_PRIVATE_KEY }} - - name: Set up Python 3.10 - uses: actions/setup-python@v6 - with: - python-version: '3.10' - - name: Set up Java 11 - uses: actions/setup-java@v5 - with: - java-version: 11 - distribution: temurin - server-id: central - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD - - name: Cache local Maven repository - uses: actions/cache@v5 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Check swagger-bom version matches root version - run: | - ROOT_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec) - BOM_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec --file modules/swagger-bom/pom.xml) - echo "Root version: ${ROOT_VERSION}" - echo "BOM version: ${BOM_VERSION}" - if [ "${ROOT_VERSION}" != "${BOM_VERSION}" ]; then - echo "ERROR: swagger-bom version (${BOM_VERSION}) does not match root version (${ROOT_VERSION}). Update modules/swagger-bom/pom.xml." - exit 1 - fi - - name: Run prepare release script - id: prepare-release - run: | - export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` - if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]]; - then - . ./CI/prepare-release.sh - echo "PREPARE_RELEASE_OK=yes" >> $GITHUB_ENV - else - echo "not preparing release for release version: " ${MY_POM_VERSION} - echo "PREPARE_RELEASE_OK=no" >> $GITHUB_ENV - fi - echo "SC_VERSION=$SC_VERSION" >> $GITHUB_ENV - echo "SC_NEXT_VERSION=$SC_NEXT_VERSION" >> $GITHUB_ENV - - name: Create Prepare Release Pull Request - uses: peter-evans/create-pull-request@v8 - if: env.PREPARE_RELEASE_OK == 'yes' - with: - token: ${{ steps.generate-token.outputs.token }} - commit-message: prepare release ${{ env.SC_VERSION }} - title: 'prepare release ${{ env.SC_VERSION }}' - branch: prepare-release-${{ env.SC_VERSION }} - env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: true - MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SC_VERSION: - SC_NEXT_VERSION: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 625c31f345..69896af29c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,162 +2,135 @@ name: Release on: workflow_dispatch: + inputs: + release_type: + description: 'Type of release' + required: true + type: choice + options: + - milestone + - rc + - release + default: 'release' branches: ["master"] jobs: build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: actions/create-github-app-token@v3 - id: generate-token - with: - client-id: ${{ secrets.APP_ID }} - private-key: ${{ secrets.APP_PRIVATE_KEY }} - - name: Set up Python 3.10 - uses: actions/setup-python@v6 - with: - python-version: '3.10' - - name: Set up Java 11 - uses: actions/setup-java@v5 - with: - java-version: 11 - distribution: temurin - server-id: central - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD - gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} - - name: Cache local Maven repository - uses: actions/cache@v5 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Set up Gradle credentials - run: | - mkdir -p ~/.gradle - echo "gradle.publish.key=${GRADLE_PUBLISH_KEY}\ngradle.publish.secret=${GRADLE_PUBLISH_SECRET}" > ~/.gradle/gradle.properties - - name: Check swagger-bom version matches root version - run: | - ROOT_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec) - BOM_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec --file modules/swagger-bom/pom.xml) - echo "Root version: ${ROOT_VERSION}" - echo "BOM version: ${BOM_VERSION}" - if [ "${ROOT_VERSION}" != "${BOM_VERSION}" ]; then - echo "ERROR: swagger-bom version (${BOM_VERSION}) does not match root version (${ROOT_VERSION}). Update modules/swagger-bom/pom.xml." - exit 1 - fi - - name: Run pre release script - id: preRelease - run: | - # export GPG_TTY=$(tty) - export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` - if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]]; - then - echo "not releasing snapshot version: " ${MY_POM_VERSION} - echo "RELEASE_OK=no" >> $GITHUB_ENV - else - . ./CI/pre-release.sh - echo "RELEASE_OK=yes" >> $GITHUB_ENV - fi - echo "SC_VERSION=$SC_VERSION" >> $GITHUB_ENV - echo "SC_NEXT_VERSION=$SC_NEXT_VERSION" >> $GITHUB_ENV - echo "SC_LAST_RELEASE=$SC_LAST_RELEASE" >> $GITHUB_ENV - - name: configure git user email - run: | - git config --global user.email "action@github.com" - git config --global user.name "GitHub Action" - git config --global hub.protocol https - git remote set-url origin https://\${{ secrets.GITHUB_TOKEN }}:x-oauth-basic@github.com/''' + 'swagger-api/swagger-core' + '''.git - - name: Run maven deploy/release - if: env.RELEASE_OK == 'yes' - run: | - ./mvnw --no-transfer-progress -B -Prelease deploy - - name: Run prepare javadocs script - id: prepareJavadocs - if: env.RELEASE_OK == 'yes' - run: | - . ./CI/prepare-javadocs.sh - - name: Checkout gh-pages - uses: actions/checkout@v6 - with: - ref: "gh-pages" - fetch-depth: 0 - - name: Run publish javadocs script - id: publishJavadocs - if: env.RELEASE_OK == 'yes' - run: | - TMPDIR="$(dirname -- "${0}")" - . $TMPDIR/publish-javadocs.sh - - name: Checkout master - uses: actions/checkout@v6 - with: - ref: "master" - fetch-depth: 0 - - name: Run post release script - id: postRelease - if: env.RELEASE_OK == 'yes' - run: | - . ./CI/post-release.sh - - name: Create Next Snapshot Pull Request - uses: peter-evans/create-pull-request@v8 - if: env.RELEASE_OK == 'yes' - with: - token: ${{ steps.generate-token.outputs.token }} - commit-message: bump snapshot ${{ env.SC_NEXT_VERSION }}-SNAPSHOT - title: 'bump snapshot ${{ env.SC_NEXT_VERSION }}-SNAPSHOT' - branch: bump-snap-${{ env.SC_NEXT_VERSION }}-SNAPSHOT - - name: Checkout 1.5 - uses: actions/checkout@v6 - with: - ref: "1.5" - fetch-depth: 0 - - name: updateV1Readme script - id: updateV1Readme - if: env.RELEASE_OK == 'yes' - run: | - TMPDIR="$(dirname -- "${0}")" - . $TMPDIR/update-v1-readme.sh ${{ env.SC_LAST_RELEASE }} ${{ env.SC_VERSION }} - - name: Create Update V1 Readme Pull Request - uses: peter-evans/create-pull-request@v8 - if: env.RELEASE_OK == 'yes' - with: - token: ${{ steps.generate-token.outputs.token }} - commit-message: update 1.5 Readme with new v2 version ${{ env.SC_VERSION }} - title: 'update 1.5 Readme with new v2 version ${{ env.SC_VERSION }}' - branch: update-v1-readme-${{ env.SC_VERSION }} - - name: Checkout Wiki - uses: actions/checkout@v6 - with: - repository: swagger-api/swagger-core.wiki - token: ${{ steps.generate-token.outputs.token }} - path: wiki - ref: "master" - fetch-depth: 0 - - - name: Run update wiki script - id: updateWiki - if: env.RELEASE_OK == 'yes' - run: | - TMPDIR="$(dirname -- "${0}")" - . $TMPDIR/update-wiki.sh - - name: Checkout master - uses: actions/checkout@v6 - with: - ref: "master" - fetch-depth: 0 + - uses: actions/checkout@v7 + with: + fetch-depth: 0 + + - name: Set up Java 17 + uses: actions/setup-java@v5 + with: + java-version: 17 + distribution: temurin + cache: 'maven' + server-id: central + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v6 + env: + GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }} + GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }} + with: + cache-read-only: false + + - name: Check swagger-bom version matches root version + uses: ./.github/actions/check-bom-version + + - name: Compute release version + id: version + run: . ./CI/compute-release-version.sh ${{ github.event.inputs.release_type }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Prepare release commit (detached) + run: . ./CI/prepare-release-commit.sh + + - name: Build and test + run: | + ./mvnw --no-transfer-progress -B -T 1C install --file pom.xml + cd modules/swagger-gradle-plugin && ./gradlew build --info --build-cache --parallel && cd ../.. + + - name: Deploy to Maven Central + if: success() + run: ./mvnw --no-transfer-progress -B -T 1C -Prelease deploy + + - name: Publish Gradle plugin + if: success() + run: | + cd modules/swagger-gradle-plugin + ./gradlew publishPlugins -Pgradle.publish.key="${GRADLE_PUBLISH_KEY}" -Pgradle.publish.secret="${GRADLE_PUBLISH_SECRET}" --info --build-cache --parallel + cd ../.. + + - name: Tag and push release tag + if: success() + run: | + git tag "v${RELEASE_VERSION}" + git push origin "v${RELEASE_VERSION}" + + - name: Create draft GitHub Release + if: success() + run: | + # Determine base tag for release notes + if [ "$IS_PRERELEASE" = "true" ]; then + BASE_TAG=$(gh release list --limit 1 --exclude-drafts --json tagName -q '.[0].tagName') + else + BASE_TAG=$(gh release list --limit 1 --exclude-drafts --exclude-pre-releases --json tagName -q '.[0].tagName') + fi + TITLE="v${RELEASE_VERSION}" + gh release create "v${RELEASE_VERSION}" \ + --title "$TITLE" \ + --notes-start-tag "$BASE_TAG" \ + --generate-notes \ + --draft \ + --prerelease="$IS_PRERELEASE" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Generate Javadocs + if: success() + run: ./mvnw -pl modules/swagger-annotations javadoc:javadoc -DskipTests + + - name: Prepare javadocs + if: success() + run: . ./CI/prepare-javadocs.sh + + - name: Bump SNAPSHOT version on master (final release only) + if: success() && github.event.inputs.release_type == 'release' + run: . ./CI/bump-snapshot.sh + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Checkout gh-pages + uses: actions/checkout@v7 + with: + ref: "gh-pages" + fetch-depth: 0 + + - name: Publish javadocs + if: success() + run: | + TMPDIR="$(dirname -- "${0}")" + . $TMPDIR/publish-javadocs.sh + + - name: Publish draft release + if: success() + run: gh release edit "v${RELEASE_VERSION}" --draft=false + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: true MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SC_VERSION: - SC_NEXT_VERSION: GPG_PRIVATE_KEY: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_PRIVATE_PASSPHRASE }} GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }} - GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }} + GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index c8969adcb4..2e9de61cf6 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,15 @@ atlassian-ide-plugin.xml sonar-project.properties test-output/ *.pyc + +.DS_Store + +## tool-infrastructure +.serena/ +.codegraph/ +.sisyphus/ +.omo/ + +# MemPalace per-project files (issue #185) +mempalace.yaml +entities.json diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index c595b0093a..216df05897 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,3 +1,3 @@ wrapperVersion=3.3.4 distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.14/apache-maven-3.9.14-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip diff --git a/.whitesource b/.whitesource deleted file mode 100644 index afd38cde04..0000000000 --- a/.whitesource +++ /dev/null @@ -1,6 +0,0 @@ -{ - "settingsInheritedFrom": "swagger-api/whitesource-config@main", - "scanSettings": { - "baseBranches": ["master", "1.5"] - } -} diff --git a/CI/CI.md b/CI/CI.md index 808c3fee09..0de36f2938 100644 --- a/CI/CI.md +++ b/CI/CI.md @@ -1,97 +1,83 @@ ## Continuous integration ### Build, test and deploy -Swagger Core uses Github actions to run jobs/checks building, testing and deploying snapshots on push and PR events. +Swagger Core uses GitHub Actions to build, test and deploy snapshots on push and PR events. -These github actions are configured in `.github/workflows`: +Workflows in `.github/workflows`: -* maven.yml : Build Test Deploy master -* maven-pulls.yml Build Test PR -* maven-v1.yml : Build Test Deploy 1.5 (must exist in in `1.5` branch) -* maven-v1-pulls.yml Build Test PR 1.5 (must exist in in `1.5` branch) - - -These actions use available actions in combination with short bash scripts. +* `build.yml` – Builds and tests the project on **every push to `master`** and on **pull requests** against `master`. + - On **push to `master`** and **Java 17**, it deploys `SNAPSHOT` artifacts to Maven Central. + - The same workflow runs for both events, avoiding duplication. +* `release.yml` – Manually triggered workflow for releasing new versions (see details below). +* `codeql-analysis.yml` – Runs CodeQL security analysis on schedule and on PRs/pushes. +* `dependency-review.yml` – Checks pull requests for vulnerable dependencies. ### Release -Releases are semi-automated and consist in 2 actions using available public actions in combination with bash and python scripts. -**TODO**: Python code is used for historical reasons to execute GitHub APIs calls, in general a more consistent environment would -be more maintainable e.g. implementing a custom JavaScript or Docker Container GitHub Action and/or a bash only script(s). - -#### Workflow summary - -1. execute `prepare-release.yml` / `Prepare Release` for `master` branch -1. check and merge the Prepare Release PR pushed by previous step. Delete the branch -1. execute `release.yml` / `Release` for `master` branch -1. check and merge the `1.5` branch Readme update PR pushed by previous step. Delete the branch -1. check and merge the next snaphot PR pushed by previous step. Delete the branch +Releases are fully automated through a single manually triggered workflow. +The workflow supports three release types, chosen at launch time: -#### Prepare Release +- **milestone** – pre‑release for early testing (e.g. `3.0.0-M1`) +- **rc** – release candidate (e.g. `3.0.0-RC1`) +- **release** – final stable release (e.g. `3.0.0`) -The first action to execute is `prepare-release.yml` / `Prepare Release` for master, and -`prepare-release-v1.yml` / `Prepare Release V1` for `1.5` branch. +All releases start from a `-SNAPSHOT` version in the `master` branch. +The release commit is created in a detached HEAD and is never pushed to `master`; +the branch always remains on the current `-SNAPSHOT` version **except** after a successful **final release**, where the version is automatically bumped to the next patch SNAPSHOT (e.g., `3.0.0` → `3.0.1-SNAPSHOT`) and pushed to `master`. -This is triggered by manually executing the action, selecting `Actions` in project GitHub UI, then `Prepare Release` workflow -and clicking `Run Workflow` (or `Prepare Release V1` and selecting `1.5` in the dropdown) +#### Workflow summary -`Prepare Release` takes care of: +1. Go to **Actions → Release → Run workflow**. +2. Select the release type (`milestone`, `rc`, `release`). +3. The workflow automatically: + - Computes the next release version and whether it is a pre‑release. + - Creates a temporary commit with the release version (updating all POMs, Gradle properties, README, and Java source references). + - Builds, tests, and deploys artifacts to Maven Central and the Gradle Plugin Portal. + - Pushes a Git tag (e.g., `v3.0.0`) and **creates a draft GitHub Release** with automatically generated release notes (using `gh release create --generate-notes`). + - Generates and publishes Javadocs to the `gh-pages` branch (versioned folder and `latest` redirect). + - Publishes the draft release. +4. **For a final release only:** after all steps succeed, the workflow automatically bumps the version on `master` to the next SNAPSHOT and pushes that commit. -* create release notes out of merged PRs -* Draft a release with related tag -* bump versions to release, and update all affected files -* build and test maven -* build and test gradle plugin -* push a Pull Request with the changes for human check. +#### Release notes logic -After the PR checks complete, the PR can me merged, and the second phase `Release` started. +- For **milestone** and **rc** releases, the notes contain pull requests merged since the previous release of **any** type. +- For a **final release**, the notes include all pull requests merged since the last **stable** release (i.e., skipping pre‑releases). -#### Release +This is achieved by using `gh release create` with the `--generate-notes` flag and the appropriate `--notes-start-tag` (computed via `gh release list`). -Once prepare release PR has been merged, the second phase is provided by `release.yml` / `Release` actions for master, and -`release-v1.yml` / `Release V1` for `1.5` branch. +#### Key scripts -This is triggered by manually executing the action, selecting `Actions` in project GitHub UI, then `Release` workflow -and clicking `Run Workflow` (or `Release V1` and selecting `1.5` in the dropdown) +| Script | Purpose | +|--------|---------| +| `CI/compute-release-version.sh` | Determines the release version, whether it is a pre‑release, and exports the last stable release tag. | +| `CI/prepare-release-commit.sh` | Creates the release commit: updates version references in POMs, Gradle properties, README, and Java source files. Commits the changes in a detached HEAD. | +| `CI/bump-snapshot.sh` | Bumps the version on `master` to the next patch SNAPSHOT after a final release and pushes the commit. | +| `CI/prepare-javadocs.sh` | Copies generated Javadocs from the Maven build to a temporary location for later publication. | +| `CI/publish-javadocs.sh` | Publishes Javadocs to `gh-pages` (versioned folder and a `latest` redirect). | -`Release` takes care of: +All release‑related GitHub API interactions use the pre‑installed `gh` CLI, which is automatically authenticated with `GITHUB_TOKEN`. -* build and test maven -* build and test gradle plugin -* deploy/publish to maven central -* publish javadocs to gh-pages -* deploy/publish gradle plugin -* publish the previously prepared GitHub release / tag -* push PR for next snapshot -* push PR for 1.5 Readme update with new v2 version -* update Wiki with javadocs links to new version +#### Post‑release version bump (for final releases) +After a **final release** (type `release`), the workflow runs `CI/bump-snapshot.sh`. This script: +- Checks out `master` (if currently in detached HEAD). +- Computes the next patch version (e.g., `3.0.0` → `3.0.1-SNAPSHOT`). +- Updates all POMs and the BOM to the new SNAPSHOT. +- Commits and pushes the change to `master`. +This ensures that `master` always reflects the next development version and prevents accidental overwrites of the released tag. ### Secrets -GitHub Actions make use of `Secrets` which can be configured either with Repo or Organization scope; the needed secrets are the following: - -* `APP_ID` and APP_PRIVATE_KEY`: these are the values provided by an account configured GitHub App, allowing to obtain a GitHub token -different from the default used in GitHub Actions (which does not allow to "chain" actions).Actions - -The GitHub App must be configured as detailed in [this doc](https://github.com/peter-evans/create-pull-request/blob/master/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens). - -See also [here](https://github.com/peter-evans/create-pull-request/blob/master/docs/concepts-guidelines.md#triggering-further-workflow-runs) - -* `OSSRH_GPG_PRIVATE_KEY` and `OSSRH_GPG_PRIVATE_PASSPHRASE` : gpg key and passphrase to be used for sonatype releases -GPG private key and passphrase defined to be used for sonatype deployments, as detailed in -https://central.sonatype.org/pages/working-with-pgp-signatures.html (I'd say with email matching the one of the sonatype account of point 1 - -* `MAVEN_CENTRAL_USERNAME` and `MAVEN_CENTRAL_PASSWORD`: sonatype user/token - -* `GRADLE_PUBLISH_KEY` and `GRADLE_PUBLISH_SECRET`: credentials for https://plugins.gradle.org/ - - - - - - - +The following secrets must be configured in the repository or organization: +| Secret | Description | +|--------|-------------| +| `MAVEN_CENTRAL_USERNAME` | Sonatype username / token | +| `MAVEN_CENTRAL_PASSWORD` | Sonatype password / token | +| `OSSRH_GPG_PRIVATE_KEY` | GPG private key for artifact signing | +| `OSSRH_GPG_PRIVATE_PASSPHRASE` | Passphrase for the GPG key | +| `GRADLE_PUBLISH_KEY` | Gradle Plugin Portal publish key | +| `GRADLE_PUBLISH_SECRET` | Gradle Plugin Portal publish secret | +The workflow also uses the automatically provided `GITHUB_TOKEN` – no manual configuration is required. \ No newline at end of file diff --git a/CI/bump-snapshot.sh b/CI/bump-snapshot.sh new file mode 100644 index 0000000000..737e08921b --- /dev/null +++ b/CI/bump-snapshot.sh @@ -0,0 +1,42 @@ +#!/bin/bash +set -e + +# This script bumps the version on master to the next SNAPSHOT after a final release. +# It assumes we are on a detached HEAD after the release tag. + +RELEASE_VERSION="${RELEASE_VERSION:?}" +CURRENT_BRANCH=$(git branch --show-current) +if [ "$CURRENT_BRANCH" != "master" ]; then + git checkout master + git pull origin master +fi + +# Compute next snapshot version: increment patch, e.g., 3.0.0 -> 3.0.1-SNAPSHOT +if [[ $RELEASE_VERSION =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then + MAJOR=${BASH_REMATCH[1]} + MINOR=${BASH_REMATCH[2]} + PATCH=${BASH_REMATCH[3]} + NEXT_PATCH=$((PATCH + 1)) + NEXT_SNAPSHOT="${MAJOR}.${MINOR}.${NEXT_PATCH}-SNAPSHOT" +else + echo "ERROR: Release version '$RELEASE_VERSION' does not match semantic versioning (X.Y.Z)" + exit 1 +fi + +echo "Bumping version on master to $NEXT_SNAPSHOT" + +# Update all POMs in one go +./mvnw versions:set -DnewVersion="${NEXT_SNAPSHOT}" -DgenerateBackupPoms=false + +# Also update swagger-bom (it has its own , not inherited from parent) +./mvnw versions:set -DnewVersion="${NEXT_SNAPSHOT}" -DgenerateBackupPoms=false --file modules/swagger-bom/pom.xml + +# Update gradle.properties +sed -i "s/version=.*/version=${NEXT_SNAPSHOT}/" modules/swagger-gradle-plugin/gradle.properties + +# Commit and push +git config user.email "action@github.com" +git config user.name "GitHub Action" +git add -A +git commit -m "Bump version to ${NEXT_SNAPSHOT}" +git push origin master \ No newline at end of file diff --git a/CI/compute-release-version.sh b/CI/compute-release-version.sh new file mode 100644 index 0000000000..4ca1582932 --- /dev/null +++ b/CI/compute-release-version.sh @@ -0,0 +1,54 @@ +#!/bin/bash +set -e + +RELEASE_TYPE="${1:-release}" + +# Verify we are on a SNAPSHOT +CURRENT_VERSION=$(./mvnw -q -DforceStdout help:evaluate -Dexpression=project.version --non-recursive) + +if [[ ! "$CURRENT_VERSION" =~ ^.*-SNAPSHOT$ ]]; then + echo "ERROR: Current version is not a SNAPSHOT ($CURRENT_VERSION). Release can only start from a SNAPSHOT." + exit 1 +fi + +BASE_VERSION="${CURRENT_VERSION%-SNAPSHOT}" + +# Determine target release version +case "$RELEASE_TYPE" in + milestone) + # Look for existing vX.Y.Z-M* tags + LAST_M=$(git tag -l "v${BASE_VERSION}-M*" | sed -E 's/.*-M([0-9]+)$/\1/' | sort -n | tail -1) + NEXT_M=$(( ${LAST_M:-0} + 1 )) + RELEASE_VERSION="${BASE_VERSION}-M${NEXT_M}" + IS_PRERELEASE="true" + ;; + rc) + LAST_RC=$(git tag -l "v${BASE_VERSION}-RC*" | sed -E 's/.*-RC([0-9]+)$/\1/' | sort -n | tail -1) + NEXT_RC=$(( ${LAST_RC:-0} + 1 )) + RELEASE_VERSION="${BASE_VERSION}-RC${NEXT_RC}" + IS_PRERELEASE="true" + ;; + release) + # Final release: base version without suffix + RELEASE_VERSION="${BASE_VERSION}" + IS_PRERELEASE="false" + ;; + *) + echo "ERROR: Unknown release type '$RELEASE_TYPE'" + exit 1 + ;; +esac + +# Prevent re-releasing an already existing tag +if git rev-parse "v${RELEASE_VERSION}" >/dev/null 2>&1; then + echo "ERROR: Tag v${RELEASE_VERSION} already exists. This version has already been released." + exit 1 +fi + +# Export variables +echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV +echo "IS_PRERELEASE=${IS_PRERELEASE}" >> $GITHUB_ENV + +echo "Current SNAPSHOT: $CURRENT_VERSION" +echo "Release version: $RELEASE_VERSION" +echo "Pre-release: $IS_PRERELEASE" \ No newline at end of file diff --git a/CI/ghApiClient.py b/CI/ghApiClient.py deleted file mode 100755 index fcec1eace8..0000000000 --- a/CI/ghApiClient.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/python - -import os -import time -import urllib.request, urllib.error, urllib.parse -import http.client -import json - -GH_BASE_URL = "https://api.github.com/" - -GH_TOKEN = os.environ['GH_TOKEN'] -GH_AUTH = "Bearer %s" % GH_TOKEN - -def readUrl(name): - try: - request = urllib.request.Request(GH_BASE_URL + name) - request.add_header("Authorization", GH_AUTH) - content = urllib.request.urlopen(request).read() - jcont = json.loads(content) - return jcont - except urllib.error.HTTPError as e: - print(('HTTPError = ' + str(e.code))) - raise e - except urllib.error.URLError as e: - print(('URLError = ' + str(e.reason))) - raise e - except http.client.HTTPException as e: - print(('HTTPException = ' + str(e))) - raise e - except Exception: - import traceback - print(('generic exception: ' + traceback.format_exc())) - raise IOError - -def postUrl(name, body): - global GH_BASE_URL - try: - time.sleep(0.05) - request = urllib.request.Request(GH_BASE_URL + name) - request.add_header("Authorization", GH_AUTH) - request.add_header("Accept", "application/vnd.github.v3+json") - data = body.encode('utf-8') - content = urllib.request.urlopen(request, data).read() - jcont = json.loads(content) - return jcont - except urllib.error.HTTPError as e: - print(('HTTPError = ' + str(e.code))) - print((str(e))) - raise e - except urllib.error.URLError as e: - print(('URLError = ' + str(e.reason))) - raise e - except http.client.HTTPException as e: - print(('HTTPException = ' + str(e))) - raise e - except Exception: - import traceback - print(('generic exception: ' + traceback.format_exc())) - raise IOError diff --git a/CI/lastRelease.py b/CI/lastRelease.py deleted file mode 100755 index 65b6f6c678..0000000000 --- a/CI/lastRelease.py +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/python - -import ghApiClient - -def getLastReleaseTag(): - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/releases') - for l in content: - draft = l["draft"] - tag = l["tag_name"] - if str(draft) != 'True' and tag.startswith("v2"): - return tag[1:] - -# main -def main(): - result = getLastReleaseTag() - print (result) - -# here start main -main() diff --git a/CI/post-release.sh b/CI/post-release.sh deleted file mode 100755 index a56e7d4135..0000000000 --- a/CI/post-release.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -CUR=$(pwd) -TMPDIR="$(dirname -- "${0}")" - -SC_RELEASE_TAG="v$SC_VERSION" - -##################### -### deploy gradle plugin release -##################### -cd modules/swagger-gradle-plugin -./gradlew publishPlugins -Pgradle.publish.key="${GRADLE_PUBLISH_KEY}" -Pgradle.publish.secret="${GRADLE_PUBLISH_SECRET}" --info -cd ../.. - -##################### -### publish pre-prepared release (tag is created) -##################### -python $CUR/CI/publishRelease.py "$SC_RELEASE_TAG" - -##################### -### update the version to next snapshot in maven project with set version -##################### -./mvnw versions:set -DnewVersion="${SC_NEXT_VERSION}-SNAPSHOT" -./mvnw versions:commit - -cd modules/swagger-bom -../../mvnw versions:set -DnewVersion="${SC_NEXT_VERSION}-SNAPSHOT" -../../mvnw versions:commit -cd ../.. - -cd modules/swagger-project-jakarta -../../mvnw versions:set -DnewVersion="${SC_NEXT_VERSION}-SNAPSHOT" -../../mvnw versions:commit -cd ../.. - -##################### -### update all other versions in files around to the next snapshot or new release, including readme and gradle ### -##################### - -sc_find="version=$SC_VERSION" -sc_replace="version=$SC_NEXT_VERSION-SNAPSHOT" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-gradle-plugin/gradle.properties - -sc_find="$SC_VERSION<\/version>" -sc_replace="$SC_NEXT_VERSION-SNAPSHOT<\/version>" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-java17-support/pom.xml -rm -f $CUR/modules/swagger-java17-support/pom.xml.versionsBackup - -##################### -### Copy scripts to temp folder, as they are not available when checking out different branch or repo -##################### -cp -a $CUR/CI/update-v1-readme.sh $TMPDIR/update-v1-readme.sh -cp -a $CUR/CI/update-wiki.sh $TMPDIR/update-wiki.sh diff --git a/CI/pre-release.sh b/CI/pre-release.sh deleted file mode 100755 index 4438c2a663..0000000000 --- a/CI/pre-release.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -CUR=$(pwd) - -export SC_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}' --non-recursive build-helper:parse-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -export SC_NEXT_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion}' --non-recursive build-helper:parse-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -SC_QUALIFIER=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${parsedVersion.qualifier}' --non-recursive build-helper:parse-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -#SC_LAST_RELEASE=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${releasedVersion.version}' --non-recursive org.codehaus.mojo:build-helper-maven-plugin:3.2.0:released-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -SC_LAST_RELEASE=`python $CUR/CI/lastRelease.py` - - -SC_RELEASE_TAG="v$SC_VERSION" - - -##################### -### build and test maven ### -##################### -./mvnw --no-transfer-progress -B install --file pom.xml - -##################### -### build and test gradle ### -##################### -cd ./modules/swagger-gradle-plugin -./gradlew build --info -cd ../.. diff --git a/CI/prepare-javadocs.sh b/CI/prepare-javadocs.sh index 68fc537347..7e40fda156 100755 --- a/CI/prepare-javadocs.sh +++ b/CI/prepare-javadocs.sh @@ -3,12 +3,8 @@ CUR=$(pwd) TMPDIR="$(dirname -- "${0}")" -SC_RELEASE_TAG="v$SC_VERSION" - -##################### -### publish javadocs -##################### - -cp -aR $CUR/modules/swagger-annotations/target/javadocprep/swagger-core/${SC_VERSION}/apidocs $TMPDIR -cp -a $CUR/CI/publish-javadocs.sh $TMPDIR/publish-javadocs.sh +# Javadoc is generated by mvn javadoc:javadoc into target/reports/apidocs +cp -aR "$CUR/modules/swagger-annotations/target/reports/apidocs" "$TMPDIR/apidocs" +# Copy publish script for later checkout +cp -a "$CUR/CI/publish-javadocs.sh" "$TMPDIR/publish-javadocs.sh" \ No newline at end of file diff --git a/CI/prepare-release-commit.sh b/CI/prepare-release-commit.sh new file mode 100644 index 0000000000..ba7241a7a1 --- /dev/null +++ b/CI/prepare-release-commit.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -e + +RELEASE_VERSION="${RELEASE_VERSION:?}" + +# Configure git +git config user.email "action@github.com" +git config user.name "GitHub Action" + +# Update all Maven POMs in one go +./mvnw versions:set -DnewVersion="${RELEASE_VERSION}" -DgenerateBackupPoms=false + +# Update swagger-bom version (it has its own , not inherited from parent) +./mvnw versions:set -DnewVersion="${RELEASE_VERSION}" -DgenerateBackupPoms=false --file modules/swagger-bom/pom.xml + +# Update gradle.properties +sed -i "s/version=.*/version=${RELEASE_VERSION}/" modules/swagger-gradle-plugin/gradle.properties + +# Update swagger-maven-plugin README +sed -i "s/.*<\/version>/${RELEASE_VERSION}<\/version>/" modules/swagger-maven-plugin/README.md + +# Stage all changes and commit (detached) +git add -A +git commit -m "Release version ${RELEASE_VERSION}" + +echo "RELEASE_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV \ No newline at end of file diff --git a/CI/prepare-release.sh b/CI/prepare-release.sh deleted file mode 100755 index 07f05b679e..0000000000 --- a/CI/prepare-release.sh +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash - -CUR=$(pwd) - -export SC_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}' --non-recursive build-helper:parse-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -export SC_NEXT_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion}' --non-recursive build-helper:parse-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -SC_QUALIFIER=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${parsedVersion.qualifier}' --non-recursive build-helper:parse-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -#SC_LAST_RELEASE=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${releasedVersion.version}' --non-recursive org.codehaus.mojo:build-helper-maven-plugin:3.2.0:released-version org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -SC_LAST_RELEASE=`python $CUR/CI/lastRelease.py` - - - -SC_RELEASE_TITLE="Swagger-core $SC_VERSION released!" -SC_RELEASE_TAG="v$SC_VERSION" - - -##################### -### draft release Notes with next release after last release, with tag -##################### -python $CUR/CI/releaseNotes.py "$SC_LAST_RELEASE" "$SC_RELEASE_TITLE" "$SC_RELEASE_TAG" - -##################### -### update the version to release in maven project with set version -##################### -./mvnw versions:set -DnewVersion=$SC_VERSION -./mvnw versions:commit - -cd modules/swagger-bom -../../mvnw versions:set -DnewVersion=$SC_VERSION -../../mvnw versions:commit -cd ../.. - -cd modules/swagger-project-jakarta -../../mvnw versions:set -DnewVersion=$SC_VERSION -../../mvnw versions:commit -cd ../.. - - -##################### -### update all other versions in files around to the new release, including readme and gradle ### -##################### -sc_find="currently $SC_VERSION-SNAPSHOT" -sc_replace="currently $SC_NEXT_VERSION-SNAPSHOT" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/README.md - -sc_find="$SC_LAST_RELEASE (\*\*current stable\*\*)" -sc_replace="$SC_LAST_RELEASE " -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/README.md - -# update readme with a line for the new release replacing the previous -CURDATE=$(date +"%Y-%m-%d") -sc_find="------------------------- | ------------ | -------------------------- | ----- | ----" -sc_add="$SC_VERSION (**current stable**)| $CURDATE | 3.x | [tag v$SC_VERSION](https:\/\/github.com\/swagger-api\/swagger-core\/tree\/v$SC_VERSION) | Supported" -sc_replace="$sc_find\n$sc_add" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/README.md - -##################### -### close the Unreleased changelog section under the new version heading, ### -### unless it has no entries (avoids an empty release section) ### -##################### -python $CUR/CI/updateChangelog.py $CUR/CHANGELOG.md "$SC_VERSION" "$CURDATE" - -sc_find="\"io.swagger.core.v3.swagger-gradle-plugin\" version \"$SC_LAST_RELEASE\"" -sc_replace="\"io.swagger.core.v3.swagger-gradle-plugin\" version \"$SC_VERSION\"" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-gradle-plugin/README.md - -sc_find="classpath \"io.swagger.core.v3:swagger-gradle-plugin:$SC_LAST_RELEASE\"" -sc_replace="classpath \"io.swagger.core.v3:swagger-gradle-plugin:$SC_VERSION\"" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-gradle-plugin/README.md - -sc_find="version=$SC_VERSION\-SNAPSHOT" -sc_replace="version=$SC_VERSION" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-gradle-plugin/gradle.properties - -sc_find="io.swagger.core.v3:swagger-jaxrs2:$SC_VERSION-SNAPSHOT" -sc_replace="io.swagger.core.v3:swagger-jaxrs2:$SC_VERSION" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java - -sc_find="io.swagger.core.v3:swagger-jaxrs2:$SC_VERSION-SNAPSHOT" -sc_replace="io.swagger.core.v3:swagger-jaxrs2:$SC_VERSION" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/SwaggerResolveTest.java - -sc_find="$SC_LAST_RELEASE<\/version>" -sc_replace="$SC_VERSION<\/version>" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-maven-plugin/README.md - -sc_find="$SC_LAST_RELEASE<\/version>" -sc_replace="$SC_VERSION<\/version>" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/modules/swagger-java17-support/pom.xml -rm -f $CUR/modules/swagger-java17-support/pom.xml.versionsBackup - -##################### -### build and test maven ### -##################### -./mvnw --no-transfer-progress -B install --file pom.xml - -##################### -### build and test gradle ### -##################### -cd ./modules/swagger-gradle-plugin -./gradlew build --info -cd ../.. - diff --git a/CI/publish-javadocs.sh b/CI/publish-javadocs.sh index 55766fd778..5603ee41e7 100755 --- a/CI/publish-javadocs.sh +++ b/CI/publish-javadocs.sh @@ -3,14 +3,21 @@ CUR=$(pwd) TMPDIR="$(dirname -- "${0}")" -SC_RELEASE_TAG="v$SC_VERSION" +SC_RELEASE_TAG="v${RELEASE_VERSION}" ##################### ### publish javadocs ##################### +# Publish versioned javadocs mkdir -p $CUR/swagger-core/${SC_RELEASE_TAG} cp -aR $TMPDIR/apidocs $CUR/swagger-core/${SC_RELEASE_TAG} + +# Publish to "latest" (always points to the most recent release) +rm -rf $CUR/swagger-core/latest +mkdir -p $CUR/swagger-core/latest +cp -aR $TMPDIR/apidocs $CUR/swagger-core/latest + git add -A git commit -m "apidocs for release ${SC_RELEASE_TAG}" -git push -u origin gh-pages +git push -u origin gh-pages \ No newline at end of file diff --git a/CI/publishRelease.py b/CI/publishRelease.py deleted file mode 100755 index 9388c4fb11..0000000000 --- a/CI/publishRelease.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python - -import sys -import ghApiClient - -def lastReleaseId(tag): - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/releases') - for l in content: - draft = l["draft"] - draft_tag = l["tag_name"] - if str(draft) == 'True' and tag == draft_tag: - return l["id"] - -def publishRelease(tag): - id = lastReleaseId(tag) - payload = "{\"tag_name\":\"" + tag + "\", " - payload += "\"draft\":" + "false" + ", " - payload += "\"target_commitish\":\"" + "master" + "\"}" - content = ghApiClient.postUrl('repos/swagger-api/swagger-core/releases/' + str(id), payload) - return content - -# main -def main(tag): - publishRelease (tag) - -# here start main -main(sys.argv[1]) diff --git a/CI/releaseNotes.py b/CI/releaseNotes.py deleted file mode 100755 index bf617239e6..0000000000 --- a/CI/releaseNotes.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/python - -import sys -import json -from datetime import datetime -import ghApiClient - -def allPulls(releaseDate): - - result = "" - - baseurl = "https://api.github.com/repos/swagger-api/swagger-core/pulls/" - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/pulls?state=closed&base=master&per_page=100') - for l in content: - stripped = l["url"][len(baseurl):] - mergedAt = l["merged_at"] - if mergedAt is not None: - if datetime.strptime(mergedAt, '%Y-%m-%dT%H:%M:%SZ') > releaseDate: - if not l['title'].startswith("bump snap"): - result += '\n' - result += "* " + l['title'] + " (#" + stripped + ")" - return result - - -def lastReleaseDate(tag): - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/releases/tags/' + tag) - publishedAt = content["published_at"] - return datetime.strptime(publishedAt, '%Y-%m-%dT%H:%M:%SZ') - - -def addRelease(release_title, tag, content): - payload = "{\"tag_name\":\"" + tag + "\", " - payload += "\"name\":" + json.dumps(release_title) + ", " - payload += "\"body\":" + json.dumps(content) + ", " - payload += "\"draft\":" + "true" + ", " - payload += "\"prerelease\":" + "false" + ", " - payload += "\"target_commitish\":\"" + "master" + "\"}" - content = ghApiClient.postUrl('repos/swagger-api/swagger-core/releases', payload) - return content - -def getReleases(): - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/releases') - return content - -# main -def main(last_release, release_title, tag): - result = allPulls(lastReleaseDate('v' + last_release)) - addRelease (release_title, tag, result) - -# here start main -main(sys.argv[1], sys.argv[2], sys.argv[3]) - diff --git a/CI/test.py b/CI/test.py deleted file mode 100755 index 4c8d625973..0000000000 --- a/CI/test.py +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/python - -import sys -import json -from datetime import datetime -import ghApiClient - -def allPulls(releaseDate): - - result = "" - - baseurl = "https://api.github.com/repos/swagger-api/swagger-core/pulls/" - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/pulls?state=closed&base=master&per_page=100') - for l in content: - stripped = l["url"][len(baseurl):] - mergedAt = l["merged_at"] - if mergedAt is not None: - if datetime.strptime(mergedAt, '%Y-%m-%dT%H:%M:%SZ') > releaseDate: - if not l['title'].startswith("bump snap"): - result += '\n' - result += "* " + l['title'] + " (#" + stripped + ")" - return result - - -def lastReleaseDate(tag): - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/releases/tags/' + tag) - publishedAt = content["published_at"] - return datetime.strptime(publishedAt, '%Y-%m-%dT%H:%M:%SZ') - - -def addRelease(release_title, tag, content): - payload = "{\"tag_name\":\"" + tag + "\", " - payload += "\"name\":" + json.dumps(release_title) + ", " - payload += "\"body\":" + json.dumps(content) + ", " - payload += "\"draft\":" + "true" + ", " - payload += "\"prerelease\":" + "false" + ", " - payload += "\"target_commitish\":\"" + "master" + "\"}" - content = ghApiClient.postUrl('repos/swagger-api/swagger-core/releases', payload) - return content - -def getReleases(): - content = ghApiClient.readUrl('repos/swagger-api/swagger-core/releases') - return content - -# main -def main(last_release, release_title, tag): - baseurl = "https://api.github.com/repos/swagger-api/swagger-core/pulls/" - payload = "{\"tag_name\":\"" + tag + "\", " - payload += "\"name\":" + json.dumps(release_title) + ", " - payload += "\"body\":" + json.dumps(content) + ", " - payload += "\"draft\":" + "true" + ", " - payload += "\"prerelease\":" + "false" + ", " - payload += "\"target_commitish\":\"" + "master" + "\"}" - content = ghApiClient.postUrl('repos/swagger-api/swagger-core/releases', payload) - result = allPulls(lastReleaseDate('v' + last_release)) - addRelease (release_title, tag, result) - -# here start main -main(sys.argv[1], sys.argv[2], sys.argv[3]) - diff --git a/CI/update-v1-readme.sh b/CI/update-v1-readme.sh deleted file mode 100755 index 02942942e4..0000000000 --- a/CI/update-v1-readme.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -SC_LAST_RELEASE="$1" -SC_VERSION="$2" - -CUR=$(pwd) - -##################### -### update v2 versions in readme -##################### -sc_find="$SC_LAST_RELEASE (\*\*current stable\*\*)" -sc_replace="$SC_LAST_RELEASE " -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/README.md - -# update readme with a line for the new release replacing the previous -CURDATE=$(date +"%Y-%m-%d") -sc_find="------------------------- | ------------ | -------------------------- | ----- | ----" -sc_add="$SC_VERSION (**current stable**)| $CURDATE | 3.x | [tag v$SC_VERSION](https:\/\/github.com\/swagger-api\/swagger-core\/tree\/v$SC_VERSION) | Supported" -sc_replace="$sc_find\n$sc_add" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/README.md diff --git a/CI/update-wiki.sh b/CI/update-wiki.sh deleted file mode 100755 index d60fd1ba48..0000000000 --- a/CI/update-wiki.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -CUR=$(pwd) - -##################### -### update Wiki -##################### -cd wiki -sc_find="$SC_LAST_RELEASE\/" -sc_replace="$SC_VERSION\/" -sed -i -e "s/$sc_find/$sc_replace/g" $CUR/wiki/Swagger-2.X---Annotations.md -git add -A -git commit -m "update javadocs links to ${SC_VERSION}" -git push -u origin master -cd .. - diff --git a/MIGRATION-FROM-UPSTREAM-2.X-TO-4.0.0.md b/MIGRATION-FROM-UPSTREAM-2.X-TO-4.0.0.md new file mode 100644 index 0000000000..4d60e5679c --- /dev/null +++ b/MIGRATION-FROM-UPSTREAM-2.X-TO-4.0.0.md @@ -0,0 +1,388 @@ +# Migration Guide: Upstream swagger-api 2.2.x → io.github.vpelikh 4.0.0 + +This guide covers migrating from `swagger-api/swagger-core` 2.2.x (javax namespace, `io.swagger.core.v3`) to `io.github.vpelikh/swagger-core` **4.0.0** (Jakarta namespace, Jakarta EE 11). + +**Target version**: `4.0.0-SNAPSHOT` + +--- + +## Table of Contents + +1. [Quick Reference](#quick-reference) +2. [Why This Fork Exists](#why-this-fork-exists) +3. [Step-by-Step Migration](#step-by-step-migration) +4. [Dependency Breakpoints](#dependency-breakpoints) +5. [Compatibility Matrix](#compatibility-matrix) +6. [Maven / Gradle Configuration](#maven--gradle-configuration) +7. [FAQ](#faq) + +--- + +## Quick Reference + +| Aspect | Upstream 2.2.x | This Fork 4.0.0 | +|--------|----------------|-----------------| +| Group ID | `io.swagger.core.v3` | `io.github.vpelikh` | +| REST module | `swagger-jaxrs2` | `swagger-jakarta-rest` | +| Namespace | `javax.ws.rs.*` | `jakarta.ws.rs.*` | +| Jakarta EE target | EE 9/10 (via Eclipse Transformer) | EE 11 (direct) | +| Java minimum | 11 | 17 | +| Jackson group | `com.fasterxml.jackson` | `tools.jackson` | +| Eclipse Transformer | As-needed for `-jakarta` artifacts | Removed entirely | +|| Java package | `io.swagger.v3.jaxrs2` | `io.swagger.v3.jakartarest` | + +--- + +## Why This Fork Exists + +`io.github.vpelikh/swagger-core` is a fork of `swagger-api/swagger-core` that: + +- Migrated all modules from **Java EE 8** (JAX-RS 2, javax namespace) to **Jakarta EE 11** (Jakarta REST 4, jakarta namespace) +- **Removed** the Eclipse Transformer-based `-jakarta` suffix artifacts — source code uses jakarta namespace directly +- **Renamed** `swagger-jaxrs2` → `swagger-jakarta-rest` (and related modules) +- **Updated** all Jakarta EE dependencies to EE 11-compatible versions +- **Published** under different Maven coordinates: `io.github.vpelikh` + +--- + +## Step-by-Step Migration + +### 1. Update Maven / Gradle Coordinates + +**Group ID** must change everywhere you reference swagger-core artifacts: + +```xml + +io.swagger.core.v3 + + +io.github.vpelikh +``` + +**Module artifact IDs** must be updated: + +| Upstream Artifact | Fork Artifact | +|------------------|---------------| +| `swagger-jaxrs2` | `swagger-jakarta-rest` | +| `swagger-jaxrs2-servlet-initializer` | `swagger-jakarta-rest-servlet-initializer` | +| `swagger-jaxrs2-servlet-initializer-v2` | `swagger-jakarta-rest-servlet-initializer` | +| `swagger-annotations` | `swagger-annotations` (same) | +| `swagger-models` | `swagger-models` (same) | +| `swagger-core` | `swagger-core` (same) | +| `swagger-integration` | `swagger-integration` (same) | +| `swagger-bom` | `swagger-bom` (same) | + +> **Note**: Core artifacts (`swagger-annotations`, `swagger-models`, `swagger-core`, `swagger-integration`) retained their names but now use the jakarta namespace in their source code. The BOM manages all versions. + +### 2. Replace All `javax.*` Imports with `jakarta.*` + +**JAX-RS / Jakarta REST:** +```java +// Before (upstream 2.2.x) +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +// After (this fork 4.0.0) +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +``` + +**Servlet:** +```java +// Before +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; + +// After +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletContext; +``` + +**CDI / Inject (if using DI):** +```java +// Before +import javax.inject.Inject; +import javax.enterprise.context.ApplicationScoped; +import javax.enterprise.inject.Produces; + +// After +import jakarta.inject.Inject; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +``` + +**XML Bind:** +```java +// Before +import javax.xml.bind.annotation.XmlRootElement; + +// After +import jakarta.xml.bind.annotation.XmlRootElement; +``` + +**Validation:** +```java +// Before +import javax.validation.constraints.NotNull; + +// After +import jakarta.validation.constraints.NotNull; +``` + +**Annotation:** +```java +// Before +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; + +// After +import jakarta.annotation.PostConstruct; +import jakarta.annotation.PreDestroy; +``` + +### 3. Update Jackson Dependencies + +Jackson migrated from the `com.fasterxml.jackson` group (2.x) to the `tools.jackson` group (3.x). Jakarta REST providers also changed: + +```xml + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + + + + + tools.jackson.jakarta.rs + jackson-jakarta-rs-json-provider + 3.1.4 + + + tools.jackson.module + jackson-module-jakarta-xmlbind-annotations + 3.1.4 + +``` + +### 4. Update Application Server / Runtime + +You must deploy on a **Jakarta EE 11-compatible** (or at minimum Jakarta EE 10-compatible) runtime: + +| Runtime | Compatibility | Notes | +|---------|-------------|-------| +| Jetty 12 (EE11) | āœ… Full | Use `jetty-ee11` profile | +| Tomcat 11 | āœ… Full | Servlet 6.0, Jakarta EE 11 | +| Tomcat 10 | āœ… Jakarta REST | Servlet 5.0, Jakarta EE 9/10 | +| WildFly 32+ | āœ… Full | Jakarta EE 11 | +| GlassFish 7+ | āœ… Full | Jakarta EE 10/11 | +| Spring Boot 4.x | āœ… | With Jakarta support enabled | +| Java EE 8 containers | āŒ | Must migrate to Jakarta runtime | + +### 5. Remove Eclipse Transformer Artifacts + +If you were using `-jakarta` suffix artifacts from the upstream Eclipse Transformer: + +| Eclipse Transformer Artifact | Replace With | +|-----------------------------|-------------| +| `swagger-annotations-jakarta` | `swagger-annotations` | +| `swagger-core-jakarta` | `swagger-core` | +| `swagger-models-jakarta` | `swagger-models` | +| `swagger-integration-jakarta` | `swagger-integration` | +| `swagger-jaxrs2-jakarta` | `swagger-jakarta-rest` | + +The base artifacts now use the jakarta namespace directly — no transformer needed. + +### 6. Update Build Properties + +| Property | Upstream | This Fork | +|----------|----------|-----------| +| `${jersey2-version}` | Jersey 2.x (javax) | `${jersey-version}` → 4.0.2 | + +--- +### 7. Update Java Package Imports + +The internal Java package for Jakarta REST modules has been renamed from `io.swagger.v3.jaxrs2` to `io.swagger.v3.jakartarest` to match the module artifact rename (`swagger-jaxrs2` → `swagger-jakarta-rest`). + +**Import changes required:** +```java +// Before (upstream 2.2.x) +import io.swagger.v3.jaxrs2.Reader; +import io.swagger.v3.jaxrs2.OpenApiServlet; +import io.swagger.v3.jaxrs2.JaxrsOpenApiContextBuilder; +import io.swagger.v3.jaxrs2.SwaggerSerializers; +import io.swagger.v3.jaxrs2.SwaggerLoader; +// ... and other classes from io.swagger.v3.jaxrs2 package + +// After (this fork 4.0.0) +import io.swagger.v3.jakartarest.Reader; +import io.swagger.v3.jakartarest.OpenApiServlet; +import io.swagger.v3.jakartarest.JaxrsOpenApiContextBuilder; +import io.swagger.v3.jakartarest.SwaggerSerializers; +import io.swagger.v3.jakartarest.SwaggerLoader; +// ... and other classes from io.swagger.v3.jakartarest package +``` + +This affects all classes in the Jakarta REST module packages. Update all import statements in your code and tests to use the new `io.swagger.v3.jakartarest` package. + + +## Dependency Breakpoints + +### 4.0.0 — Initial fork release (Jakarta EE 11, Breaking) + +- **Group ID changed**: `io.swagger.core.v3` → `io.github.vpelikh` +- **Java package rename**: `io.swagger.v3.jaxrs2` → `io.swagger.v3.jakartarest` (internal package for Jakarta REST modules) + +- **Jakarta namespace**: all `javax.ws.rs.*` → `jakarta.ws.rs.*` +- **Jakarta EE versions**: upgraded all Jakarta dependencies to EE 11 +- **Module renames**: `swagger-jaxrs2` → `swagger-jakarta-rest` +- **Jackson provider**: `jackson-jaxrs` → `jackson-jakarta-rs` (migrated to `tools.jackson` group) +- **Eclipse Transformer**: removed entirely +- **Java requirement**: Java 17 minimum (up from 11) +- **Maven property**: `${jersey2-version}` → `${jersey-version}` + +### Upstream 2.2.x Reference + +Upstream `swagger-api/swagger-core` 2.2.x tracks the upstream release line. This fork branches from that line. Refer to the [upstream changelog](https://github.com/swagger-api/swagger-core/releases) for 2.2.x details. + +--- + +## Compatibility Matrix + +### Java + +| Version | Java Minimum | +|---------|--------------| +| 4.0.x | 17 | +| 2.2.x (upstream) | 11 | + +### Application Servers / Runtimes + +| Runtime | Compatible with 4.0.x | Notes | +|---------|----------------------|-------| +| Jakarta EE 11 containers | āœ… Full | WildFly 32+, Payara 7+, TomEE 10+ | +| Jakarta EE 10 containers | āœ… Full | Jetty 12, Tomcat 11, GlassFish 7 | +| Spring Boot 4.x | āœ… | With Jakarta support | +| Servlet 6.0 containers | āœ… | Jetty 12, Tomcat 11 | +| Servlet 5.0 containers | āœ… | Jetty 11, Tomcat 10 | +| javax / JAX-RS 2 containers | āŒ | Must migrate to Jakarta namespaces | + +--- + +## Maven / Gradle Configuration + +### Maven (Bill of Materials) + +```xml + + 4.0.0 + + + + + + io.github.vpelikh + swagger-bom + ${swagger-openapiv3.version} + pom + import + + + + + + + + io.github.vpelikh + swagger-jakarta-rest + + + + io.github.vpelikh + swagger-core + + + io.github.vpelikh + swagger-annotations + + + io.github.vpelikh + swagger-models + + + io.github.vpelikh + swagger-integration + + +``` + +### Gradle Kotlin DSL + +```kotlin +val swaggerOpenapiv3Version by extra("4.0.0") + +dependencies { + implementation(platform("io.github.vpelikh:swagger-bom:$swaggerOpenapiv3Version")) + + implementation("io.github.vpelikh:swagger-jakarta-rest") + implementation("io.github.vpelikh:swagger-core") + implementation("io.github.vpelikh:swagger-annotations") + implementation("io.github.vpelikh:swagger-models") + implementation("io.github.vpelikh:swagger-integration") +} +``` + +--- + +## FAQ + +### How do I check which version of Swagger Core I'm using? + +For Maven: +```bash +mvn dependency:tree | grep swagger +``` + +For Gradle: +```bash +./gradlew dependencies | grep swagger +``` + +### I get `ClassNotFoundException` for `javax.ws.rs` + +You are using code compiled against the javax namespace with Jakarta-only dependencies. Migrate all imports from `javax.ws.rs.*` to `jakarta.ws.rs.*`. See the [step-by-step migration](#2-replace-all-javax-imports-with-jakarta) above. + +### Can I use javax and jakarta artifacts together? + +No. You must migrate all swagger-core dependencies to the same namespace (jakarta). Mixing javax and jakarta swagger artifacts will produce class conflicts. + +### Do I need the `-jakarta` suffix artifacts anymore? + +No. The Eclipse Transformer approach has been removed. Use the base artifacts directly — they now use the jakarta namespace in source code. + +### I was using `swagger-annotations-jakarta`. What do I use now? + +Replace with the base `swagger-annotations` artifact (no suffix). It now uses the jakarta namespace directly. + +### What Java version is required? + +Java 17 or higher. + +### I'm on upstream 2.2.x and not ready to migrate. Can I stay? + +Yes. Upstream `swagger-api/swagger-core` 2.2.x is still maintained. This fork is for projects targeting Jakarta EE 11. + +### How do I report a migration issue? + +Open an issue at [github.com/vpelikh/swagger-core/issues](https://github.com/vpelikh/swagger-core/issues) with: +- Your Swagger Core version +- Your application server / runtime version +- The error message and stack trace +- A minimal reproduction if possible diff --git a/README.md b/README.md index f3d416b925..4cc766e113 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,31 @@ # Swagger Core -**NOTE:** If you're looking for Swagger Core 1.5.X and OpenAPI 2.0, please refer to [1.5 branch](https://github.com/swagger-api/swagger-core/tree/1.5). -**NOTE:** Since version 2.1.7, Swagger Core also supports the Jakarta namespace. There are a parallel set of artifacts with the `-jakarta` suffix, providing the same functionality as the unsuffixed (i.e.: `javax`) artifacts. -Please see the [Wiki](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) for more details. +**NOTE:** This fork (`io.github.vpelikh`, version 4.0.x) migrated from Java EE 8 (javax namespace) to Jakarta EE 11 (jakarta namespace). All modules use the jakarta namespace directly in source code — no Eclipse Transformer required. +Please see the [Wiki](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Getting-started) for more details. -**NOTE:** Since version 2.2.0 Swagger Core supports OpenAPI 3.1; see [this page](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---OpenAPI-3.1) for details +**NOTE:** Since version 2.2.0 Swagger Core supports OpenAPI 3.1; see [this page](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---OpenAPI-3.1) for details -![Build Test Deploy](https://github.com/swagger-api/swagger-core/workflows/Build%20Test%20Deploy%20master/badge.svg?branch=master) -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.swagger.core.v3/swagger-project/badge.svg?style=plastic)](https://maven-badges.herokuapp.com/maven-central/io.swagger.core.v3/swagger-project) +![Build Test Deploy](https://github.com/vpelikh/swagger-core/workflows/Build%20Test%20Deploy%20master/badge.svg?branch=master) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.vpelikh/swagger-project/badge.svg?style=plastic)](https://maven-badges.herokuapp.com/maven-central/io.github.vpelikh/swagger-project) -Swagger Core is a Java implementation of the OpenAPI Specification. Current version supports *JAX-RS2* (`javax` and `jakarta` namespaces). +Swagger Core is a Java implementation of the OpenAPI Specification. Current version supports *Jakarta REST 4.0* (successor to JAX-RS 2). + +> **Migrating from upstream 2.2.x?** See the [Migration Guide](MIGRATION-FROM-UPSTREAM-2.X-TO-4.0.0.md) for step-by-step instructions on updating coordinates, imports, and dependencies. ## Get started with Swagger Core! -See the guide on [getting started with Swagger Core](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) to get started with adding Swagger to your API. +See the guide on [getting started with Swagger Core](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Getting-started) to get started with adding Swagger to your API. ## See the Wiki! -The [github wiki](https://github.com/swagger-api/swagger-core/wiki) contains documentation, samples, contributions, etc. Start there. +The [github wiki](https://github.com/vpelikh/swagger-core/wiki) contains documentation, samples, contributions, etc. Start there. ## Compatibility The OpenAPI Specification has undergone several revisions since initial creation in 2010. The Swagger Core project has the following compatibilities with the OpenAPI Specification: Swagger core Version | Release Date | OpenAPI Spec compatibility | Notes | Status ------------------------- | ------------ | -------------------------- | ----- | ---- -2.2.54 (**current stable**)| 2026-08-18 | 3.x | [tag v2.2.54](https://github.com/swagger-api/swagger-core/tree/v2.2.54) | Supported +4.0.0-SNAPSHOT (**current**)| 2026-06-21 | 3.x | [io.github.vpelikh fork](https://github.com/vpelikh/swagger-core) | Development +2.2.54 | 2026-08-18 | 3.x | [tag v2.2.54](https://github.com/swagger-api/swagger-core/tree/v2.2.54) | Supported 2.2.53 | 2026-08-03 | 3.x | [tag v2.2.53](https://github.com/swagger-api/swagger-core/tree/v2.2.53) | Supported 2.2.52 | 2026-06-22 | 3.x | [tag v2.2.52](https://github.com/swagger-api/swagger-core/tree/v2.2.52) | Supported 2.2.51 | 2026-06-12 | 3.x | [tag v2.2.51](https://github.com/swagger-api/swagger-core/tree/v2.2.51) | Supported @@ -100,7 +102,7 @@ Swagger core Version | Release Date | OpenAPI Spec compatibility | Notes | 2.0.5 | 2018-09-19 | 3.0 | [tag v2.0.5](https://github.com/swagger-api/swagger-core/tree/v2.0.5) | Supported 2.0.4 | 2018-09-05 | 3.0 | [tag v2.0.4](https://github.com/swagger-api/swagger-core/tree/v2.0.4) | Supported 2.0.3 | 2018-08-09 | 3.0 | [tag v2.0.3](https://github.com/swagger-api/swagger-core/tree/v2.0.3) | Supported -1.6.14 (**current stable**)| 2024-03-19 | 2.0 | [tag v1.6.14](https://github.com/swagger-api/swagger-core/tree/v1.6.14) | Supported +1.6.14 | 2024-03-19 | 2.0 | [tag v1.6.14](https://github.com/swagger-api/swagger-core/tree/v1.6.14) | Supported 1.6.13 | 2024-01-26 | 2.0 | [tag v1.6.13](https://github.com/swagger-api/swagger-core/tree/v1.6.13) | Supported 1.6.12 | 2023-10-14 | 2.0 | [tag v1.6.12](https://github.com/swagger-api/swagger-core/tree/v1.6.12) | Supported 1.6.11 | 2023-05-15 | 2.0 | [tag v1.6.11](https://github.com/swagger-api/swagger-core/tree/v1.6.11) | Supported @@ -137,19 +139,19 @@ Swagger core Version | Release Date | OpenAPI Spec compatibility | Notes | ### Change History -If you're interested in the change history of swagger and the Swagger Core framework, see [here](https://github.com/swagger-api/swagger-core/releases). +If you're interested in the change history of swagger and the Swagger Core framework, see [here](https://github.com/vpelikh/swagger-core/releases). Starting with version 2.3.0, notable changes and fixes are also documented in [CHANGELOG.md](CHANGELOG.md). ### Prerequisites You need the following installed and available in your $PATH: -* Java 11 +* Java 17 * Apache maven 3.0.4 or greater -* Jackson 2.4.5 or greater +* Jackson 3.1.3 or greater -### To build from source (currently 2.2.55-SNAPSHOT) +### To build from source (currently 4.0.4-SNAPSHOT) ``` # first time building locally mvn -N @@ -163,16 +165,15 @@ mvn install This will build the modules. Of course if you don't want to build locally you can grab artifacts from maven central: - -`https://repo1.maven.org/maven2/io/swagger/core/` +`https://repo1.maven.org/maven2/io/github/vpelikh/` ### Maven BOM -The `swagger-bom` artifact is a Bill of Materials that manages **both** the `javax` and Jakarta (`-jakarta` suffix) artifact families. +The `swagger-bom` artifact is a Bill of Materials that manages all Jakarta REST 4.0 artifacts. Import it once and omit versions on all individual Swagger dependencies. -> **Note:** Maven and Gradle build plugins (`swagger-maven-plugin`, `swagger-gradle-plugin`, -> `swagger-eclipse-transformer-maven-plugin`) are intentionally **excluded** from the BOM. +> **Note:** Maven and Gradle build plugins (`swagger-maven-plugin`, `swagger-gradle-plugin`) +> are intentionally **excluded** from the BOM. > Plugins are applied via `` or `plugins {}`, not via ``, > so including them in the BOM would be misleading and could conflict with the plugin > management section of a consumer's build. @@ -183,7 +184,7 @@ Import it once and omit versions on all individual Swagger dependencies. - io.swagger.core.v3 + io.github.vpelikh swagger-bom ${swagger-openapiv3.version} pom @@ -194,63 +195,31 @@ Import it once and omit versions on all individual Swagger dependencies. - + - io.swagger.core.v3 + io.github.vpelikh swagger-annotations - io.swagger.core.v3 + io.github.vpelikh swagger-models - io.swagger.core.v3 + io.github.vpelikh swagger-core - io.swagger.core.v3 + io.github.vpelikh swagger-integration + - io.swagger.core.v3 - swagger-jaxrs2 - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2 + io.github.vpelikh + swagger-jakarta-rest - - io.swagger.core.v3 - swagger-annotations-jakarta - - - io.swagger.core.v3 - swagger-models-jakarta - - - io.swagger.core.v3 - swagger-core-jakarta - - - io.swagger.core.v3 - swagger-integration-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2-jakarta + io.github.vpelikh + swagger-jakarta-rest-servlet-initializer ``` @@ -259,17 +228,18 @@ Import it once and omit versions on all individual Swagger dependencies. ```kotlin dependencies { - implementation(platform("io.swagger.core.v3:swagger-bom:${swaggerOpenapiv3Version}")) - - // javax artifacts — no version needed - implementation("io.swagger.core.v3:swagger-annotations") - implementation("io.swagger.core.v3:swagger-core") - - // Jakarta namespace artifacts — no version needed - implementation("io.swagger.core.v3:swagger-annotations-jakarta") - implementation("io.swagger.core.v3:swagger-core-jakarta") + implementation(platform("io.github.vpelikh:swagger-bom:${swaggerOpenapiv3Version}")) + + // Base artifacts (now use jakarta namespace in source) — no version needed + implementation("io.github.vpelikh:swagger-annotations") + implementation("io.github.vpelikh:swagger-models") + implementation("io.github.vpelikh:swagger-core") + implementation("io.github.vpelikh:swagger-integration") + + // Jakarta REST 4.0 artifacts — no version needed + implementation("io.github.vpelikh:swagger-jakarta-rest") + implementation("io.github.vpelikh:swagger-jakarta-rest-servlet-initializer") } -``` ## Sample Apps The samples have moved to [a new repository](https://github.com/swagger-api/swagger-samples/tree/2.0) and contain various integrations and configurations. diff --git a/modules/swagger-annotations/pom.xml b/modules/swagger-annotations/pom.xml index 3fa101df73..084fbac8e5 100644 --- a/modules/swagger-annotations/pom.xml +++ b/modules/swagger-annotations/pom.xml @@ -1,9 +1,9 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-project - 2.2.55-SNAPSHOT + 4.0.4-SNAPSHOT ../.. 4.0.0 @@ -61,8 +61,8 @@ maven-resources-plugin - - 3.1.0 + + 3.5.0 copy-resources diff --git a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Operation.java b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Operation.java index e307777104..68b3a2a044 100644 --- a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Operation.java +++ b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Operation.java @@ -18,7 +18,7 @@ * The annotation may be used to define a resource method as an OpenAPI Operation, and/or to define additional * properties for the Operation. * - *

Note: swagger-jaxrs2 reader engine includes by default also methods of scanned resources which are not annotated + *

Note: swagger-jakarta-rest reader engine includes by default also methods of scanned resources which are not annotated * with @Operation, as long as a jax-rs @Path is defined at class and/or method level, together with the http method * annotation (@GET, @POST, etc).

*

This behaviour is controlled by configuration property `scanAllResources` which defaults to true. By setting this diff --git a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Parameter.java b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Parameter.java index 508af9a85f..a946a0ceb6 100644 --- a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Parameter.java +++ b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/Parameter.java @@ -25,7 +25,7 @@ * additional properties for the Parameter. It can also be used independently in {@link Operation#parameters()} or at * method level to add a parameter to the operation, even if not bound to any method parameter. * - *

swagger-jaxrs2 reader engine considers this annotation along with JAX-RS annotations, parameter type and context + *

swagger-jakarta-rest reader engine considers this annotation along with JAX-RS annotations, parameter type and context * as input to resolve a method parameter into an OpenAPI Operation parameter.

* *

For method parameters bound to the request body, see {@link io.swagger.v3.oas.annotations.parameters.RequestBody}

diff --git a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/ArraySchema.java b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/ArraySchema.java index 09cd4fcefc..6ea7201e10 100644 --- a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/ArraySchema.java +++ b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/ArraySchema.java @@ -19,7 +19,7 @@ * properties for the schema. It is applicable e.g. to parameters, schema classes (aka "models"), properties of such * models, request and response content, header. * - *

swagger-core resolver and swagger-jaxrs2 reader engine consider this annotation along with JAX-RS annotations, + *

swagger-core resolver and swagger-jakarta-rest reader engine consider this annotation along with JAX-RS annotations, * element type and context as input to resolve the annotated element into an OpenAPI schema definition for such element.

* *

The annotation {@link Schema} shall be used for non array elements; {@link ArraySchema} and {@link Schema} cannot diff --git a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Content.java b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Content.java index 55c39d87b6..b21a4d6aca 100644 --- a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Content.java +++ b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Content.java @@ -12,7 +12,7 @@ /** * The annotation may be used to define the content/media type of a parameter, request or response, by defining it as * field {@link io.swagger.v3.oas.annotations.Parameter#content()}, {@link io.swagger.v3.oas.annotations.parameters.RequestBody#content()} or {@link io.swagger.v3.oas.annotations.responses.ApiResponse#content()}. - *

If {@link Content#schema()} is defined, swagger-jaxrs2 reader engine will consider it along with + *

If {@link Content#schema()} is defined, swagger-jakarta-rest reader engine will consider it along with * JAX-RS annotations, element type and context as input to resolve the annotated element into an OpenAPI schema * definition for such element.

* diff --git a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Schema.java b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Schema.java index 775ac5ee07..f868770352 100644 --- a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Schema.java +++ b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/media/Schema.java @@ -21,7 +21,7 @@ * properties for the schema. It is applicable e.g. to parameters, schema classes (aka "models"), properties of such * models, request and response content, header. * - *

swagger-core resolver and swagger-jaxrs2 reader engine consider this annotation along with JAX-RS annotations, + *

swagger-core resolver and swagger-jakarta-rest reader engine consider this annotation along with JAX-RS annotations, * element type and context as input to resolve the annotated element into an OpenAPI schema definition for such element.

*

The annotation may be used also to override partly (e.g. the name) or fully (e.g providing a completely different * representation) the schema of an element; for example if a specific class is provided as value of {@link Schema#implementation()}, diff --git a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/responses/ApiResponse.java b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/responses/ApiResponse.java index a21e3ad110..930cae3b19 100644 --- a/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/responses/ApiResponse.java +++ b/modules/swagger-annotations/src/main/java/io/swagger/v3/oas/annotations/responses/ApiResponse.java @@ -19,7 +19,7 @@ * The annotation may be used at method level or as field of {@link io.swagger.v3.oas.annotations.Operation} to define one or more responses of the * Operation. * - *

swagger-jaxrs2 reader engine considers this annotation along with method return type and context as input to + *

swagger-jakarta-rest reader engine considers this annotation along with method return type and context as input to * resolve the OpenAPI Operation responses.

* * @see Response (OpenAPI specification) diff --git a/modules/swagger-bom-integration-test/pom.xml b/modules/swagger-bom-integration-test/pom.xml index af4d7ce65f..c690ba76d3 100644 --- a/modules/swagger-bom-integration-test/pom.xml +++ b/modules/swagger-bom-integration-test/pom.xml @@ -3,9 +3,9 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-project - 2.2.55-SNAPSHOT + 4.0.4-SNAPSHOT ../.. @@ -24,7 +24,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-bom ${project.version} pom @@ -40,61 +40,29 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-annotations - io.swagger.core.v3 + io.github.vpelikh swagger-models - io.swagger.core.v3 + io.github.vpelikh swagger-core - io.swagger.core.v3 + io.github.vpelikh swagger-integration - - io.swagger.core.v3 - swagger-jaxrs2 - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2 - - io.swagger.core.v3 - swagger-annotations-jakarta - - - io.swagger.core.v3 - swagger-models-jakarta - - - io.swagger.core.v3 - swagger-core-jakarta - - - io.swagger.core.v3 - swagger-integration-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-jakarta + io.github.vpelikh + swagger-jakarta-rest - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2-jakarta + io.github.vpelikh + swagger-jakarta-rest-servlet-initializer @@ -130,7 +98,7 @@ resolve - io.swagger.core.v3 + io.github.vpelikh
diff --git a/modules/swagger-bom-integration-test/pom.xml.versionsBackup b/modules/swagger-bom-integration-test/pom.xml.versionsBackup deleted file mode 100644 index 49730678af..0000000000 --- a/modules/swagger-bom-integration-test/pom.xml.versionsBackup +++ /dev/null @@ -1,141 +0,0 @@ - - 4.0.0 - - - io.swagger.core.v3 - swagger-project - 2.2.47-SNAPSHOT - ../.. - - - swagger-bom-integration-test - pom - - swagger-bom-integration-test - Verifies that swagger-bom manages all expected artifacts at the correct version - - - - true - true - - - - - - io.swagger.core.v3 - swagger-bom - ${project.version} - pom - import - - - - - - - - - io.swagger.core.v3 - swagger-annotations - - - io.swagger.core.v3 - swagger-models - - - io.swagger.core.v3 - swagger-core - - - io.swagger.core.v3 - swagger-integration - - - io.swagger.core.v3 - swagger-jaxrs2 - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2 - - - - io.swagger.core.v3 - swagger-annotations-jakarta - - - io.swagger.core.v3 - swagger-models-jakarta - - - io.swagger.core.v3 - swagger-core-jakarta - - - io.swagger.core.v3 - swagger-integration-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2-jakarta - - - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - - - enforce-versions - - true - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - verify-bom-deps-resolve - validate - - resolve - - - io.swagger.core.v3 - - - - - - - - diff --git a/modules/swagger-bom/pom.xml b/modules/swagger-bom/pom.xml index 222371b971..e63ed6101f 100644 --- a/modules/swagger-bom/pom.xml +++ b/modules/swagger-bom/pom.xml @@ -2,19 +2,19 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-bom - 2.2.55-SNAPSHOT + 4.0.4-SNAPSHOT pom swagger-bom Bill of Materials (BOM) for Swagger Core (OpenAPI 3) - https://github.com/swagger-api/swagger-core + https://github.com/vpelikh/swagger-core - scm:git:git@github.com:swagger-api/swagger-core.git - scm:git:git@github.com:swagger-api/swagger-core.git - https://github.com/swagger-api/swagger-core + scm:git:git@github.com:vpelikh/swagger-core.git + scm:git:git@github.com:vpelikh/swagger-core.git + https://github.com/vpelikh/swagger-core @@ -42,7 +42,7 @@ github - https://github.com/swagger-api/swagger-core/issues + https://github.com/vpelikh/swagger-core/issues @@ -50,7 +50,7 @@ org.sonatype.central central-publishing-maven-plugin - 0.10.0 + 0.11.0 true central @@ -70,7 +70,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.2.8 --pinentry-mode @@ -94,80 +94,38 @@ - + - io.swagger.core.v3 + io.github.vpelikh swagger-annotations ${project.version} - io.swagger.core.v3 + io.github.vpelikh swagger-models ${project.version} - io.swagger.core.v3 + io.github.vpelikh swagger-core ${project.version} - io.swagger.core.v3 + io.github.vpelikh swagger-integration ${project.version} + - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - ${project.version} - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2 - ${project.version} - - - - io.swagger.core.v3 - swagger-annotations-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-core-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-integration-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2-jakarta + io.github.vpelikh + swagger-jakarta-rest-servlet-initializer ${project.version} -
- diff --git a/modules/swagger-core/pom.xml b/modules/swagger-core/pom.xml index 6e8d4111ef..a01e5746e7 100644 --- a/modules/swagger-core/pom.xml +++ b/modules/swagger-core/pom.xml @@ -1,9 +1,9 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-project - 2.2.55-SNAPSHOT + 4.0.4-SNAPSHOT ../.. 4.0.0 @@ -20,8 +20,8 @@ Import-Package: \ - javax.validation.constraints;version="[1.1,3)", \ - javax.xml.bind.annotation;version="[2.2,3)", \ + jakarta.validation.constraints;version="[3,4)", \ + jakarta.xml.bind.annotation;version="[3,5)", \ * @@ -49,17 +49,29 @@ + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + + test-compile + process-test-resources + test-compile + + + ${project.basedir}/src/test/kotlin + + + + +
jakarta.xml.bind jakarta.xml.bind-api - 2.3.3 - - - org.apache.commons - commons-lang3 org.slf4j @@ -70,29 +82,26 @@ jackson-annotations - com.fasterxml.jackson.core + tools.jackson.core jackson-databind - com.fasterxml.jackson.dataformat + tools.jackson.dataformat jackson-dataformat-yaml + ${jackson-version} - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - io.swagger.core.v3 + io.github.vpelikh swagger-annotations ${project.parent.version} - org.yaml - snakeyaml - ${snakeyaml-version} + org.snakeyaml + snakeyaml-engine + ${snakeyaml-engine-version} - io.swagger.core.v3 + io.github.vpelikh swagger-models ${project.parent.version} @@ -106,6 +115,12 @@ guava test + + org.checkerframework + checker-qual + 4.2.2 + test + org.joda joda-convert @@ -121,6 +136,12 @@ logback-core provided + + jakarta.annotation + jakarta.annotation-api + 3.0.0 + provided + jakarta.validation jakarta.validation-api @@ -131,27 +152,37 @@ testng test + - commons-io - commons-io + biz.aQute.bnd + biz.aQute.bndlib + ${bnd-version} + test - jakarta.ws.rs - jakarta.ws.rs-api - ${jakarta-ws-rs-api-version} + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin.version} test + + commons-io + commons-io + jakarta.inject jakarta.inject-api - 1.0.5 + 2.0.1 + test + + + jakarta.ws.rs + jakarta.ws.rs-api test - 2.0.2 - 2.1.6 0.60 0.0 3 diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverterContextImpl.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverterContextImpl.java index cd938ac4ac..1f3722165b 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverterContextImpl.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverterContextImpl.java @@ -2,7 +2,7 @@ import io.swagger.v3.core.util.ReferenceTypeUtils; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverters.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverters.java index 241a850f67..30e8c55cb4 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverters.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/converter/ModelConverters.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converter; -import com.fasterxml.jackson.databind.type.TypeFactory; +import tools.jackson.databind.type.TypeFactory; import io.swagger.v3.core.jackson.ModelResolver; import io.swagger.v3.core.util.Configuration; import io.swagger.v3.core.util.Json; @@ -233,7 +233,7 @@ public boolean isRegisteredAsSkippedClass(String className) { } private boolean shouldProcess(Type type) { - final Class cls = TypeFactory.defaultInstance().constructType(type).getRawClass(); + final Class cls = TypeFactory.createDefaultInstance().constructType(type).getRawClass(); if (cls.isPrimitive()) { return false; } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/filter/SpecFilter.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/filter/SpecFilter.java index 846675db9b..ce841d75e2 100755 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/filter/SpecFilter.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/filter/SpecFilter.java @@ -20,7 +20,8 @@ import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; import io.swagger.v3.oas.models.tags.Tag; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; +import tools.jackson.core.JacksonException; import java.io.IOException; import java.util.ArrayList; @@ -281,7 +282,7 @@ protected Map filterComponentsSchema(OpenAPISpecFilter filter, M } clonedComponentsSchema.put(key, clonedModel); - } catch (IOException e) { + } catch (JacksonException e) { } } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/AbstractModelConverter.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/AbstractModelConverter.java index cff6f2161a..9e354d3dae 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/AbstractModelConverter.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/AbstractModelConverter.java @@ -1,13 +1,17 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.Version; -import com.fasterxml.jackson.databind.AnnotationIntrospector; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.PropertyName; -import com.fasterxml.jackson.databind.jsontype.NamedType; -import com.fasterxml.jackson.databind.module.SimpleModule; +import tools.jackson.core.Version; +import tools.jackson.databind.AnnotationIntrospector; +import tools.jackson.databind.BeanDescription; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.PropertyName; +import tools.jackson.databind.cfg.MapperBuilder; +import tools.jackson.databind.introspect.AccessorNamingStrategy; +import tools.jackson.databind.introspect.BasicBeanDescription; +import tools.jackson.databind.introspect.DefaultAccessorNamingStrategy; +import tools.jackson.databind.jsontype.NamedType; +import tools.jackson.databind.module.SimpleModule; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; @@ -33,17 +37,38 @@ protected AbstractModelConverter(ObjectMapper mapper) { } protected AbstractModelConverter(ObjectMapper mapper, TypeNameResolver typeNameResolver) { - mapper.registerModule( - new SimpleModule("swagger", Version.unknownVersion()) { + MapperBuilder builder = mapper.rebuild() + .addModule(new SimpleModule("swagger", Version.unknownVersion()) { @Override public void setupModule(SetupContext context) { context.insertAnnotationIntrospector(new SwaggerAnnotationIntrospector()); } }); - _mapper = mapper; + // Only impose Swagger's own accessor naming when the caller has not configured one. + // Overwriting it unconditionally discards the caller's strategy, so schema property names + // diverge from the JSON the caller's mapper actually produces -- e.g. properties read via + // non-bean-convention accessors go missing from the schema. + if (usesDefaultAccessorNaming(mapper)) { + builder.accessorNaming(new DefaultAccessorNamingStrategy.Provider() + .withFirstCharAcceptance(true, true)); + } + _mapper = builder.build(); _typeNameResolver = typeNameResolver; } + /** + * Whether the mapper still carries Jackson's stock accessor naming provider, meaning the caller + * expressed no preference of their own. A custom provider -- including a subclass of + * {@link DefaultAccessorNamingStrategy.Provider} -- is left alone. + * + * @param mapper the mapper handed to this converter + * @return true when Swagger's accessor naming may safely be applied + */ + private static boolean usesDefaultAccessorNaming(ObjectMapper mapper) { + AccessorNamingStrategy.Provider provider = mapper.serializationConfig().getAccessorNaming(); + return provider == null || provider.getClass() == DefaultAccessorNamingStrategy.Provider.class; + } + @Override public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator chain) { if (chain.hasNext()) { @@ -61,7 +86,7 @@ public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterato * @return the current AnnotationIntrospector */ protected AnnotationIntrospector _intr() { - return _mapper.getSerializationConfig().getAnnotationIntrospector(); + return _mapper.serializationConfig().getAnnotationIntrospector(); } protected String _typeName(JavaType type) { @@ -95,10 +120,10 @@ protected String _findTypeName(JavaType type, BeanDescription beanDesc) { return "List"; } if (beanDesc == null) { - beanDesc = _mapper.getSerializationConfig().introspectClassAnnotations(type); + beanDesc = _mapper._serializationContext().introspectBeanDescription(type); } - PropertyName rootName = _intr().findRootName(beanDesc.getClassInfo()); + PropertyName rootName = _intr().findRootName(_mapper.serializationConfig(), beanDesc.getClassInfo()); if (rootName != null && rootName.hasSimpleName()) { return rootName.getSimpleName(); } @@ -114,17 +139,16 @@ protected String _subTypeName(NamedType type) { } protected boolean _isSetType(Class cls) { - if (cls != null) { - - if (java.util.Set.class.equals(cls)) { + if (cls == null) { + return false; + } + if (java.util.Set.class.isAssignableFrom(cls)) { + return true; + } + // check for scala Set as well - to avoid bringing in scala runtime + for (Class a : cls.getInterfaces()) { + if ("interface scala.collection.Set".equals(a.toString())) { return true; - } else { - for (Class a : cls.getInterfaces()) { - // this is dirty and ugly and needs to be extended into a scala model converter. But to avoid bringing in scala runtime... - if (java.util.Set.class.equals(a) || "interface scala.collection.Set".equals(a.toString())) { - return true; - } - } } } return false; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ApiResponsesSerializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ApiResponsesSerializer.java index 5107400042..281347a097 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ApiResponsesSerializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ApiResponsesSerializer.java @@ -1,36 +1,37 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; import io.swagger.v3.oas.models.responses.ApiResponses; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; import java.io.IOException; import java.util.Map; import java.util.Map.Entry; -public class ApiResponsesSerializer extends JsonSerializer { +public class ApiResponsesSerializer extends ValueSerializer { @Override public void serialize( - ApiResponses value, JsonGenerator jgen, SerializerProvider provider) - throws IOException { + ApiResponses value, JsonGenerator jgen, SerializationContext provider) + throws JacksonException { if (value != null && value.getExtensions() != null && !value.getExtensions().isEmpty()) { jgen.writeStartObject(); if (!value.isEmpty()) { for (Entry entry: value.entrySet()) { - jgen.writeObjectField(entry.getKey() , entry.getValue()); + jgen.writePOJOProperty(entry.getKey() , entry.getValue()); } } for (Map.Entry entry: value.getExtensions().entrySet()) { - jgen.writeObjectField(entry.getKey(), entry.getValue()); + jgen.writePOJOProperty(entry.getKey(), entry.getValue()); } jgen.writeEndObject(); } else { - provider.defaultSerializeValue(value, jgen); + jgen.writePOJO(value); } } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/CallbackSerializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/CallbackSerializer.java index 9d3dd5757c..943db7d296 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/CallbackSerializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/CallbackSerializer.java @@ -1,22 +1,23 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.callbacks.Callback; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; import java.io.IOException; import java.util.Map.Entry; -public class CallbackSerializer extends JsonSerializer { +public class CallbackSerializer extends ValueSerializer { @Override public void serialize( - Callback value, JsonGenerator jgen, SerializerProvider provider) - throws IOException { + Callback value, JsonGenerator jgen, SerializationContext provider) + throws JacksonException { // has extensions if (value != null && value.getExtensions() != null && !value.getExtensions().isEmpty()) { @@ -27,22 +28,22 @@ public void serialize( if (!value.isEmpty()) { // write map for (Entry entry: value.entrySet()) { - jgen.writeObjectField(entry.getKey() , entry.getValue()); + jgen.writePOJOProperty(entry.getKey() , entry.getValue()); } } } else { // handle ref schema serialization skipping all other props ... - jgen.writeStringField("$ref", value.get$ref()); + jgen.writeStringProperty("$ref", value.get$ref()); } for (String ext: value.getExtensions().keySet()) { - jgen.writeObjectField(ext , value.getExtensions().get(ext)); + jgen.writePOJOProperty(ext , value.getExtensions().get(ext)); } jgen.writeEndObject(); } else { if (value == null || StringUtils.isBlank(value.get$ref())) { - provider.defaultSerializeValue(value, jgen); + jgen.writePOJO(value); } else { // handle ref schema serialization skipping all other props jgen.writeStartObject(); - jgen.writeStringField("$ref", value.get$ref()); + jgen.writeStringProperty("$ref", value.get$ref()); jgen.writeEndObject(); } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ExampleSerializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ExampleSerializer.java index 577b880c1e..1ad3380b0a 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ExampleSerializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ExampleSerializer.java @@ -1,38 +1,34 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.ResolvableSerializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; import io.swagger.v3.oas.models.examples.Example; +import tools.jackson.databind.DatabindException; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; -import java.io.IOException; +public class ExampleSerializer extends ValueSerializer { -public class ExampleSerializer extends JsonSerializer implements ResolvableSerializer { + private ValueSerializer defaultSerializer; - private JsonSerializer defaultSerializer; - - public ExampleSerializer(JsonSerializer serializer) { + public ExampleSerializer(ValueSerializer serializer) { defaultSerializer = serializer; } @Override - public void resolve(SerializerProvider serializerProvider) throws JsonMappingException { - if (defaultSerializer instanceof ResolvableSerializer) { - ((ResolvableSerializer) defaultSerializer).resolve(serializerProvider); - } + public void resolve(SerializationContext serializerProvider) throws DatabindException { + defaultSerializer.resolve(serializerProvider); } @Override public void serialize( - Example example, JsonGenerator jgen, SerializerProvider provider) - throws IOException { + Example example, JsonGenerator jgen, SerializationContext provider) + throws JacksonException { if (example.getValueSetFlag() && example.getValue() == null) { jgen.writeStartObject(); defaultSerializer.unwrappingSerializer(null).serialize(example, jgen, provider); - jgen.writeNullField("value"); + jgen.writeNullProperty("value"); jgen.writeEndObject(); } else { defaultSerializer.serialize(example, jgen, provider); diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/JAXBAnnotationsHelper.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/JAXBAnnotationsHelper.java index 5331404491..034cd3eb50 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/JAXBAnnotationsHelper.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/JAXBAnnotationsHelper.java @@ -1,17 +1,17 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.databind.introspect.Annotated; +import tools.jackson.databind.introspect.Annotated; import io.swagger.v3.core.util.AnnotationsUtils; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.MapSchema; import io.swagger.v3.oas.models.media.ObjectSchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.media.XML; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; import java.lang.annotation.Annotation; /** diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/MediaTypeSerializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/MediaTypeSerializer.java index 809261d3e9..51d01ba987 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/MediaTypeSerializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/MediaTypeSerializer.java @@ -1,38 +1,34 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.ResolvableSerializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; import io.swagger.v3.oas.models.media.MediaType; +import tools.jackson.databind.DatabindException; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; -import java.io.IOException; +public class MediaTypeSerializer extends ValueSerializer { -public class MediaTypeSerializer extends JsonSerializer implements ResolvableSerializer { + private ValueSerializer defaultSerializer; - private JsonSerializer defaultSerializer; - - public MediaTypeSerializer(JsonSerializer serializer) { + public MediaTypeSerializer(ValueSerializer serializer) { defaultSerializer = serializer; } @Override - public void resolve(SerializerProvider serializerProvider) throws JsonMappingException { - if (defaultSerializer instanceof ResolvableSerializer) { - ((ResolvableSerializer) defaultSerializer).resolve(serializerProvider); - } + public void resolve(SerializationContext serializerProvider) throws DatabindException { + defaultSerializer.resolve(serializerProvider); } @Override public void serialize( - MediaType value, JsonGenerator jgen, SerializerProvider provider) - throws IOException { + MediaType value, JsonGenerator jgen, SerializationContext provider) + throws JacksonException { if (value.getExampleSetFlag() && value.getExample() == null) { jgen.writeStartObject(); defaultSerializer.unwrappingSerializer(null).serialize(value, jgen, provider); - jgen.writeNullField("example"); + jgen.writeNullProperty("example"); jgen.writeEndObject(); } else { defaultSerializer.serialize(value, jgen, provider); diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java index b281d34855..dcedb3c0af 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java @@ -10,26 +10,29 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped; import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonView; +import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.ObjectIdGenerator; import com.fasterxml.jackson.annotation.ObjectIdGenerators; -import com.fasterxml.jackson.databind.AnnotationIntrospector; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.PropertyMetadata; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.annotation.JsonNaming; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.introspect.Annotated; -import com.fasterxml.jackson.databind.introspect.AnnotatedClass; -import com.fasterxml.jackson.databind.introspect.AnnotatedField; -import com.fasterxml.jackson.databind.introspect.AnnotatedMember; -import com.fasterxml.jackson.databind.introspect.AnnotatedMethod; -import com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition; -import com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder; -import com.fasterxml.jackson.databind.jsontype.NamedType; -import com.fasterxml.jackson.databind.util.Annotations; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.AnnotationIntrospector; +import tools.jackson.databind.BeanDescription; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.PropertyMetadata; +import tools.jackson.databind.SerializationFeature; +import tools.jackson.databind.annotation.JsonNaming; +import tools.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.cfg.EnumFeature; +import tools.jackson.databind.introspect.Annotated; +import tools.jackson.databind.introspect.AnnotatedClass; +import tools.jackson.databind.introspect.AnnotatedField; +import tools.jackson.databind.introspect.AnnotatedMember; +import tools.jackson.databind.introspect.AnnotatedMethod; +import tools.jackson.databind.introspect.BeanPropertyDefinition; +import tools.jackson.databind.introspect.POJOPropertyBuilder; +import tools.jackson.databind.jsontype.NamedType; +import tools.jackson.databind.util.Annotations; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; @@ -59,33 +62,33 @@ import io.swagger.v3.oas.models.media.StringSchema; import io.swagger.v3.oas.models.media.UUIDSchema; import io.swagger.v3.oas.models.media.XML; -import javax.validation.constraints.Email; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.math.NumberUtils; +import jakarta.validation.constraints.Email; +import io.swagger.v3.core.util.StringUtils; +import io.swagger.v3.core.util.NumberUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.validation.constraints.DecimalMax; -import javax.validation.constraints.DecimalMin; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.Negative; -import javax.validation.constraints.NegativeOrZero; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Positive; -import javax.validation.constraints.PositiveOrZero; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlElementRefs; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSchema; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.Negative; +import jakarta.validation.constraints.NegativeOrZero; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Positive; +import jakarta.validation.constraints.PositiveOrZero; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementRef; +import jakarta.xml.bind.annotation.XmlElementRefs; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlSchema; import java.io.IOException; import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedParameterizedType; @@ -132,7 +135,7 @@ public class ModelResolver extends AbstractModelConverter implements ModelConver private static final Predicate ANNOTATIONS_THAT_SHOULD_BE_STRIPPED_FOR_CONTAINER_ITEMS = annotation -> annotation.annotationType().getName().startsWith("io.swagger") || - annotation.annotationType().getName().startsWith("javax.validation.constraints") || + annotation.annotationType().getName().startsWith("jakarta.validation.constraints") || NULLABLE_ANNOTATIONS.contains(annotation.annotationType().getSimpleName()); /** @@ -190,7 +193,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context final BeanDescription beanDesc; { - BeanDescription recurBeanDesc = _mapper.getSerializationConfig().introspect(type); + BeanDescription recurBeanDesc = _mapper._serializationContext().introspectBeanDescription(type); HashSet visited = new HashSet<>(); JsonSerialize jsonSerialize = recurBeanDesc.getClassAnnotations().get(JsonSerialize.class); @@ -199,7 +202,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context if (visited.contains(asName)) break; visited.add(asName); - recurBeanDesc = _mapper.getSerializationConfig().introspect( + recurBeanDesc = _mapper._serializationContext().introspectBeanDescription( _mapper.constructType(jsonSerialize.as()) ); jsonSerialize = recurBeanDesc.getClassAnnotations().get(JsonSerialize.class); @@ -470,7 +473,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context JavaType valueType = type.getContentType(); String pName = null; if (valueType != null) { - BeanDescription valueTypeBeanDesc = _mapper.getSerializationConfig().introspect(valueType); + BeanDescription valueTypeBeanDesc = _mapper._serializationContext().introspectBeanDescription(valueType); pName = _typeName(valueType, valueTypeBeanDesc); } List strippedCtxAnnotations = new ArrayList<>(); @@ -549,8 +552,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context if (annotatedType.isSchemaProperty() && annotatedType.getCtxAnnotations() != null && annotatedType.getCtxAnnotations().length > 0) { if (!"object".equals(items.getType())) { for (Annotation annotation : annotatedType.getCtxAnnotations()) { - if (annotation instanceof XmlElement) { - XmlElement xmlElement = (XmlElement) annotation; + if (annotation instanceof XmlElement xmlElement) { if (xmlElement != null && xmlElement.name() != null && !"".equals(xmlElement.name()) && !JAXB_DEFAULT.equals(xmlElement.name())) { XML xml = items.getXml() != null ? items.getXml() : new XML(); xml.setName(xmlElement.name()); @@ -658,7 +660,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context AnnotatedMember member = propDef.getPrimaryMember(); if (member == null) { - final BeanDescription deserBeanDesc = _mapper.getDeserializationConfig().introspect(type); + final BeanDescription deserBeanDesc = _mapper._deserializationContext().introspectBeanDescription(type); List deserProperties = deserBeanDesc.findProperties(); for (BeanPropertyDefinition prop : deserProperties) { if (StringUtils.isNotBlank(prop.getInternalName()) && prop.getInternalName().equals(propDef.getInternalName())) { @@ -678,23 +680,23 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context // "issuance_date" and the raw member name must not clobber the translated one // (see springdoc/springdoc-openapi#3293). if (propDef.getPrimaryMember() != null - && _mapper.getSerializationConfig().getPropertyNamingStrategy() == null + && _mapper.serializationConfig().getPropertyNamingStrategy() == null && jsonNamingAnnotation == null) { final JsonProperty jsonPropertyAnn = propDef.getPrimaryMember().getAnnotation(JsonProperty.class); - if (jsonPropertyAnn == null || !jsonPropertyAnn.value().equals(propName)) { - if (member != null) { - java.lang.reflect.Member innerMember = member.getMember(); - if (innerMember != null) { - String altName = innerMember.getName(); - if (altName != null) { - final int length = altName.length(); - for (String prefix : Arrays.asList("get", "is")) { - final int offset = prefix.length(); - if (altName.startsWith(prefix) && length > offset - && !Character.isUpperCase(altName.charAt(offset))) { - propName = altName; - break; - } + if (jsonPropertyAnn != null && !jsonPropertyAnn.value().isEmpty() && !jsonPropertyAnn.value().equals(propName)) { + propName = jsonPropertyAnn.value(); + } else if ((jsonPropertyAnn == null || jsonPropertyAnn.value().isEmpty()) && member != null) { + java.lang.reflect.Member innerMember = member.getMember(); + if (innerMember != null) { + String altName = innerMember.getName(); + if (altName != null) { + final int length = altName.length(); + for (String prefix : Arrays.asList("get", "is")) { + final int offset = prefix.length(); + if (altName.startsWith(prefix) && length > offset + && !Character.isUpperCase(altName.charAt(offset))) { + propName = altName; + break; } } } @@ -706,12 +708,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context if (member != null && !ignore(member, xmlAccessorTypeAnnotation, propName, propertiesToIgnore, propDef)) { - List annotationList = new ArrayList<>(); - for (Annotation a : member.annotations()) { - annotationList.add(a); - } - - annotations = annotationList.toArray(new Annotation[annotationList.size()]); + annotations = member.annotations().toArray(Annotation[]::new); if (hiddenByJsonView(annotations, annotatedType)) { continue; @@ -719,8 +716,8 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context JavaType propType = member.getType(); if (propType != null && "void".equals(propType.getRawClass().getName())) { - if (member instanceof AnnotatedMethod) { - propType = ((AnnotatedMethod) member).getParameterType(0); + if (member instanceof AnnotatedMethod method) { + propType = method.getParameterType(0); } } @@ -862,7 +859,7 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context } } } - final BeanDescription propBeanDesc = _mapper.getSerializationConfig().introspect(propType); + final BeanDescription propBeanDesc = _mapper._serializationContext().introspectBeanDescription(propType); if (property != null && !propType.isContainerType()) { if (isObjectSchema(property)) { // create a reference for the property @@ -970,13 +967,26 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context } /** - * This must be done after model.setProperties so that the model's set - * of properties is available to filter from any subtypes + * Skip resolveSubtypes for sealed classes with @Schema(oneOf). + * This prevents Jackson 3's auto-detected sealed class subtypes + * from creating unwanted allOf references. **/ - if (!resolveSubtypes(model, beanDesc, context, annotatedType.getJsonViewAnnotation())) { + boolean isSealedWithSchemaOneOf = beanDesc.getClassInfo().getAnnotated().isSealed() + && resolvedSchemaAnnotation != null && resolvedSchemaAnnotation.oneOf().length > 0; + if (isSealedWithSchemaOneOf) { + model.setDiscriminator(null); + } else if (!resolveSubtypes(model, beanDesc, context, annotatedType.getJsonViewAnnotation())) { model.setDiscriminator(null); } + // Get the updated model from context after resolveSubtypes (which may have replaced it with oneOf) + if (!type.isContainerType() && StringUtils.isNotBlank(name)) { + Schema updatedModel = context.getDefinedModels().get(name); + if (updatedModel != null) { + model = updatedModel; + } + } + Discriminator discriminator = resolveDiscriminator(type, context); if (discriminator != null) { model.setDiscriminator(discriminator); @@ -1080,27 +1090,40 @@ public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context }); - List> oneOfFiltered = Stream.of(oneOf) - .distinct() - .filter(c -> !this.shouldIgnoreClass(c)) - .filter(c -> !(c.equals(Void.class))) - .collect(Collectors.toList()); - oneOfFiltered.forEach(c -> { - Schema oneOfRef = context.resolve(new AnnotatedType().components(annotatedType.getComponents()).type(c).jsonViewAnnotation(annotatedType.getJsonViewAnnotation())); - if (oneOfRef != null) { - if (StringUtils.isBlank(oneOfRef.getName())) { - schemaWithCompositionKeys.addOneOfItem(oneOfRef); - } else { - schemaWithCompositionKeys.addOneOfItem(new Schema().$ref(Components.COMPONENTS_SCHEMAS_REF + oneOfRef.getName())); - } - // remove shared properties defined in the parent - if (isSubtype(beanDesc.getClassInfo(), c)) { - removeParentProperties(schemaWithCompositionKeys, oneOfRef); - } + // Check if class has @JsonSubTypes annotation (handled by resolveSubtypes) + Annotation[] annotations = beanDesc.getClassInfo().getAnnotated().getDeclaredAnnotations(); + boolean hasJsonSubTypes = false; + for (Annotation ann : annotations) { + if (ann.annotationType().equals(com.fasterxml.jackson.annotation.JsonSubTypes.class)) { + hasJsonSubTypes = true; + break; } + } - dropRootRefIfComposed(schemaWithCompositionKeys); - }); + // Skip oneOf processing if class has @JsonSubTypes annotation (handled by resolveSubtypes) + if (!hasJsonSubTypes) { + List> oneOfFiltered = Stream.of(oneOf) + .distinct() + .filter(c -> !this.shouldIgnoreClass(c)) + .filter(c -> !(c.equals(Void.class))) + .collect(Collectors.toList()); + oneOfFiltered.forEach(c -> { + Schema oneOfRef = context.resolve(new AnnotatedType().components(annotatedType.getComponents()).type(c).jsonViewAnnotation(annotatedType.getJsonViewAnnotation())); + if (oneOfRef != null) { + if (StringUtils.isBlank(oneOfRef.getName())) { + schemaWithCompositionKeys.addOneOfItem(oneOfRef); + } else { + schemaWithCompositionKeys.addOneOfItem(new Schema().$ref(Components.COMPONENTS_SCHEMAS_REF + oneOfRef.getName())); + } + // remove shared properties defined in the parent + if (isSubtype(beanDesc.getClassInfo(), c)) { + removeParentProperties(schemaWithCompositionKeys, oneOfRef); + } + } + + dropRootRefIfComposed(schemaWithCompositionKeys); + }); + } if (!composedModelPropertiesAsSibling) { if (schemaWithCompositionKeys.getAllOf() != null && !schemaWithCompositionKeys.getAllOf().isEmpty()) { @@ -1280,26 +1303,9 @@ private boolean shouldResolveEnumAsRef(io.swagger.v3.oas.annotations.media.Schem } protected Type findJsonValueType(final BeanDescription beanDesc) { - - // use recursion to check for method findJsonValueAccessor existence (Jackson 2.9+) - // if not found use previous deprecated method which could lead to inaccurate result - try { - AnnotatedMember jsonValueMember = invokeMethod(beanDesc, "findJsonValueAccessor"); - if (jsonValueMember != null) { - return jsonValueMember.getType(); - } - return null; - } catch (Exception e) { - LOGGER.warn("jackson BeanDescription.findJsonValueAccessor not found, this could lead to inaccurate result, please update jackson to 2.9+"); - } - - try { - AnnotatedMember jsonValueMember = invokeMethod(beanDesc, "findJsonValueMethod"); - if (jsonValueMember != null) { - return jsonValueMember.getType(); - } - } catch (Exception e) { - LOGGER.error("Neither 'findJsonValueMethod' nor 'findJsonValueAccessor' found in jackson BeanDescription. Please verify your Jackson version."); + AnnotatedMember jsonValueMember = beanDesc.findJsonValueAccessor(); + if (jsonValueMember != null) { + return jsonValueMember.getType(); } return null; } @@ -1309,8 +1315,8 @@ private Schema clone(Schema property) { } private boolean isSubtype(AnnotatedClass childClass, Class parentClass) { - final BeanDescription parentDesc = _mapper.getSerializationConfig().introspectClassAnnotations(parentClass); - List subTypes = _intr().findSubtypes(parentDesc.getClassInfo()); + final AnnotatedClass parentDesc = _mapper._serializationContext().introspectClassAnnotations(parentClass); + List subTypes = _intr().findSubtypes(_mapper.serializationConfig(), parentDesc); if (subTypes == null) { return false; } @@ -1351,8 +1357,8 @@ protected void _addEnumProps(Class propClass, Schema property) { * @param enumClass the enum class for which to add properties */ protected Schema _createSchemaForEnum(Class> enumClass) { - boolean useIndex = _mapper.isEnabled(SerializationFeature.WRITE_ENUMS_USING_INDEX); - boolean useToString = _mapper.isEnabled(SerializationFeature.WRITE_ENUMS_USING_TO_STRING); + boolean useIndex = _mapper.isEnabled(EnumFeature.WRITE_ENUMS_USING_INDEX); + boolean useToString = _mapper.isEnabled(EnumFeature.WRITE_ENUMS_USING_TO_STRING); Optional jsonValueMethod = ReflectionUtils.getAnnotatedMethods(enumClass, JsonValue.class).stream() .findFirst(); @@ -1383,7 +1389,8 @@ protected Schema _createSchemaForEnum(Class> enumClass) { Enum[] enumConstants = enumClass.getEnumConstants(); if (enumConstants != null) { - String[] enumValues = _intr().findEnumValues(enumClass, enumConstants, + AnnotatedClass annotatedClass = _mapper._serializationContext().introspectClassAnnotations(enumClass); + String[] enumValues = _intr().findEnumValues(_mapper.serializationConfig(), annotatedClass, enumConstants, new String[enumConstants.length]); for (Enum en : enumConstants) { @@ -1408,7 +1415,7 @@ protected Schema _createSchemaForEnum(Class> enumClass) { } else if (useToString) { n = en.toString(); } else { - n = _intr().findEnumValue(en); + n = en.name(); } schema.addEnumItemObject(n); } @@ -1505,7 +1512,7 @@ private void handleUnwrapped(List props, Schema innerModel, String prefi String baseName = prop.getName() != null ? prop.getName() : entry.getKey(); clonedProp.setName(prefix + baseName + suffix); props.add(clonedProp); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Exception cloning property", e); return; } @@ -1557,7 +1564,7 @@ protected Schema processAsId(String propertyName, AnnotatedType type, } else { javaType = mapper.constructType(type.getType()); } - final BeanDescription beanDesc = mapper.getSerializationConfig().introspect(javaType); + final BeanDescription beanDesc = mapper._serializationContext().introspectBeanDescription(javaType); for (BeanPropertyDefinition def : beanDesc.findProperties()) { final String name = def.getName(); if (name != null && name.equals(propertyName)) { @@ -1566,11 +1573,7 @@ protected Schema processAsId(String propertyName, AnnotatedType type, if (PrimitiveType.fromType(propType) != null) { return PrimitiveType.createProperty(propType, openapi31); } else { - List list = new ArrayList<>(); - for (Annotation a : propMember.annotations()) { - list.add(a); - } - Annotation[] annotations = list.toArray(new Annotation[list.size()]); + Annotation[] annotations = propMember.annotations().toArray(Annotation[]::new); AnnotatedType aType = new AnnotatedType() .type(propType) .ctxAnnotations(annotations) @@ -2036,8 +2039,8 @@ protected boolean applyBeanValidatorAnnotationsNoGroups(Schema property, Annotat } private boolean resolveSubtypes(Schema model, BeanDescription bean, ModelConverterContext context, JsonView jsonViewAnnotation) { - final List types = _intr().findSubtypes(bean.getClassInfo()); - if (types == null) { + final List types = _intr().findSubtypes(_mapper.serializationConfig(), bean.getClassInfo()); + if (types == null || types.isEmpty()) { return false; } @@ -2055,6 +2058,13 @@ private boolean resolveSubtypes(Schema model, BeanDescription bean, ModelConvert */ removeSuperClassAndInterfaceSubTypes(types, bean); + // Deduplicate subtypes (Jackson 3 AnnotationIntrospectorPair may return duplicates) + Set dedupedTypes = new LinkedHashSet<>(); + dedupedTypes.addAll(types); + types.clear(); + types.addAll(dedupedTypes); + + Map, String> subtypeNames = new HashMap<>(); int count = 0; final Class beanClass = bean.getClassInfo().getAnnotated(); for (NamedType subtype : types) { @@ -2106,8 +2116,25 @@ private boolean resolveSubtypes(Schema model, BeanDescription bean, ModelConvert Class currentType = subtype.getType(); if (StringUtils.isNotBlank(composedSchema.getName())) { context.defineModel(composedSchema.getName(), composedSchema, new AnnotatedType().type(currentType), null); + subtypeNames.put(subtypeType, composedSchema.getName()); } + count++; + } + + // Convert parent model to oneOf if subtypes were found + if (count != 0) { + ComposedSchema oneOfSchema = ComposedSchema.from(model); + oneOfSchema.setOneOf(new ArrayList<>()); + + for (NamedType subtype : types) { + Schema refSchema = openapi31 ? new JsonSchema() : new Schema(); + refSchema.$ref(Components.COMPONENTS_SCHEMAS_REF + subtypeNames.getOrDefault(subtype.getType(), subtype.getType().getSimpleName())); + oneOfSchema.addOneOfItem(refSchema); + } + + // Replace parent model in context with oneOf schema + context.defineModel(model.getName(), oneOfSchema, new AnnotatedType().type(beanClass), null); } return count != 0; } @@ -2136,8 +2163,8 @@ private void removeSuperClassAndInterfaceSubTypes(List types, BeanDes private void removeSuperSubTypes(List resultTypes, Class superClass) { JavaType superType = _mapper.constructType(superClass); - BeanDescription superBean = _mapper.getSerializationConfig().introspect(superType); - final List superTypes = _intr().findSubtypes(superBean.getClassInfo()); + BeanDescription superBean = _mapper._serializationContext().introspectBeanDescription(superType); + final List superTypes = _intr().findSubtypes(_mapper.serializationConfig(), superBean.getClassInfo()); if (superTypes != null) { resultTypes.removeAll(superTypes); } @@ -2368,7 +2395,7 @@ protected Object resolveDefaultValue(Annotated a, Annotation[] annotations, io.s } } return node; - } catch (IOException e) { + } catch (JacksonException e) { return schema.defaultValue(); } } @@ -2379,8 +2406,8 @@ protected Object resolveDefaultValue(Annotated a, Annotation[] annotations, io.s if (elem == null) { if (annotations != null) { for (Annotation ann : annotations) { - if (ann instanceof XmlElement) { - elem = (XmlElement) ann; + if (ann instanceof XmlElement element) { + elem = element; break; } } @@ -2409,7 +2436,7 @@ protected Object resolveExample(Annotated a, Annotation[] annotations, io.swagge } } return node; - } catch (IOException e) { + } catch (JacksonException e) { return schema.example(); } } @@ -2462,8 +2489,8 @@ protected io.swagger.v3.oas.annotations.media.Schema.AccessMode resolveAccessMod return null; } JsonProperty.Access access = null; - if (propDef instanceof POJOPropertyBuilder) { - access = ((POJOPropertyBuilder) propDef).findAccess(); + if (propDef instanceof POJOPropertyBuilder builder) { + access = builder.findAccess(); } boolean hasGetter = propDef.hasGetter(); boolean hasSetter = propDef.hasSetter(); @@ -2471,12 +2498,12 @@ protected io.swagger.v3.oas.annotations.media.Schema.AccessMode resolveAccessMod boolean hasField = propDef.hasField(); if (access == null) { - final BeanDescription beanDesc = _mapper.getDeserializationConfig().introspect(type); + final BeanDescription beanDesc = _mapper._deserializationContext().introspectBeanDescription(type); List properties = beanDesc.findProperties(); for (BeanPropertyDefinition prop : properties) { if (StringUtils.isNotBlank(prop.getInternalName()) && prop.getInternalName().equals(propDef.getInternalName())) { - if (prop instanceof POJOPropertyBuilder) { - access = ((POJOPropertyBuilder) prop).findAccess(); + if (prop instanceof POJOPropertyBuilder builder) { + access = builder.findAccess(); } hasGetter = hasGetter || prop.hasGetter(); hasSetter = hasSetter || prop.hasSetter(); @@ -2738,6 +2765,13 @@ protected Schema resolveWrapping(JavaType type, ModelConverterContext context, S if (JsonTypeInfo.Id.NAME.equals(id) && name == null) { name = type.getRawClass().getSimpleName(); } + // If model already has oneOf (from @JsonSubTypes), add wrapper property directly + // instead of nesting the entire model inside a wrapper schema + if (model.getOneOf() != null && !model.getOneOf().isEmpty()) { + Schema idSchema = openapi31 ? new JsonSchema().typesItem("object") : new ObjectSchema(); + model.addProperties(name, idSchema); + return model; + } Schema wrapperSchema = openapi31 ? new JsonSchema().typesItem("object") : new ObjectSchema(); wrapperSchema.name(model.getName()); wrapperSchema.addProperties(name, model); @@ -2796,8 +2830,8 @@ protected XML resolveXml(Annotated a, Annotation[] annotations, io.swagger.v3.oa if (rootAnnotation == null) { if (annotations != null) { for (Annotation ann : annotations) { - if (ann instanceof XmlRootElement) { - rootAnnotation = (XmlRootElement) ann; + if (ann instanceof XmlRootElement element) { + rootAnnotation = element; break; } } @@ -2840,9 +2874,9 @@ protected Set resolveIgnoredProperties(Annotation[] annotations) { Set propertiesToIgnore = new HashSet<>(); if (annotations != null) { for (Annotation annotation : annotations) { - if (annotation instanceof JsonIgnoreProperties) { - if (!((JsonIgnoreProperties) annotation).allowGetters()) { - propertiesToIgnore.addAll(Arrays.asList(((JsonIgnoreProperties) annotation).value())); + if (annotation instanceof JsonIgnoreProperties properties) { + if (!properties.allowGetters()) { + propertiesToIgnore.addAll(Arrays.asList(properties.value())); break; } } @@ -3110,7 +3144,7 @@ protected void resolveSchemaMembers(Schema schema, AnnotatedType annotatedType, final Annotation resolvedSchemaOrArrayAnnotation = AnnotationsUtils.mergeSchemaAnnotations(annotatedType.getCtxAnnotations(), type); final io.swagger.v3.oas.annotations.media.Schema schemaAnnotation = getSchemaAnnotation(resolvedSchemaOrArrayAnnotation); - final BeanDescription beanDesc = _mapper.getSerializationConfig().introspect(type); + final BeanDescription beanDesc = _mapper._serializationContext().introspectBeanDescription(type); Annotated a = beanDesc.getClassInfo(); Annotation[] annotations = annotatedType.getCtxAnnotations(); resolveSchemaMembers(schema, a, annotations, schemaAnnotation); @@ -3351,11 +3385,7 @@ protected void resolveSchemaMembers(Schema schema, Annotated a, Annotation[] ann } if (schemaAnnotation.examples().length > 0) { List parsedExamples = io.swagger.v3.core.util.AnnotationsUtils.parseExamplesArray(schemaAnnotation, schema); - if (schema.getExamples() == null || schema.getExamples().isEmpty()) { - schema.setExamples(parsedExamples); - } else { - schema.getExamples().addAll(parsedExamples); - } + schema.setExamples(parsedExamples); } String _const = resolveConst(a, annotations, schemaAnnotation); if (_const != null) { @@ -3384,14 +3414,12 @@ protected boolean updateRequiredItem(Schema model, String propName) { } protected boolean shouldIgnoreClass(Type type) { - if (type instanceof Class) { - Class cls = (Class) type; - if (cls.getName().equals("javax.ws.rs.Response")) { + if (type instanceof Class cls) { + if (cls.getName().equals("jakarta.ws.rs.Response")) { return true; } } else { - if (type instanceof com.fasterxml.jackson.core.type.ResolvedType) { - com.fasterxml.jackson.core.type.ResolvedType rt = (com.fasterxml.jackson.core.type.ResolvedType) type; + if (type instanceof tools.jackson.core.type.ResolvedType rt) { LOGGER.trace("Can't check class {}, {}", type, rt.getRawClass().getName()); if (rt.getRawClass().equals(Class.class)) { return true; @@ -3402,8 +3430,8 @@ protected boolean shouldIgnoreClass(Type type) { } private List getIgnoredProperties(BeanDescription beanDescription) { - AnnotationIntrospector introspector = _mapper.getSerializationConfig().getAnnotationIntrospector(); - JsonIgnoreProperties.Value v = introspector.findPropertyIgnorals(beanDescription.getClassInfo()); + AnnotationIntrospector introspector = _mapper.serializationConfig().getAnnotationIntrospector(); + JsonIgnoreProperties.Value v = introspector.findPropertyIgnoralByName(_mapper.serializationConfig(), beanDescription.getClassInfo()); Set ignored = null; if (v != null) { ignored = v.findIgnoredForSerialization(); @@ -3441,9 +3469,9 @@ protected boolean hiddenByJsonView(Annotation[] annotations, Class[] filters = jsonView.value(); boolean containsJsonViewAnnotation = !type.isIncludePropertiesWithoutJSONView(); for (Annotation ant : annotations) { - if (ant instanceof JsonView) { + if (ant instanceof JsonView view) { containsJsonViewAnnotation = true; - Class[] views = ((JsonView) ant).value(); + Class[] views = view.value(); for (Class f : filters) { for (Class v : views) { if (v == f || v.isAssignableFrom(f)) { @@ -3601,11 +3629,6 @@ protected boolean isNumberSchema(Schema schema) { return SchemaTypeUtils.isNumberSchema(schema); } - private AnnotatedMember invokeMethod(final BeanDescription beanDesc, String methodName) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException { - Method m = BeanDescription.class.getMethod(methodName); - return (AnnotatedMember) m.invoke(beanDesc); - } - protected Schema buildRefSchemaIfObject(Schema schema, ModelConverterContext context) { if (schema == null) { return null; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PackageVersion.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PackageVersion.java index 515fb7af4f..a9edab1bba 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PackageVersion.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PackageVersion.java @@ -1,8 +1,8 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.Version; -import com.fasterxml.jackson.core.Versioned; -import com.fasterxml.jackson.core.util.VersionUtil; +import tools.jackson.core.Version; +import tools.jackson.core.Versioned; +import tools.jackson.core.util.VersionUtil; public final class PackageVersion implements Versioned { public static final Version VERSION = VersionUtil.parseVersion( diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PathsSerializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PathsSerializer.java index 414a8e136e..52cf35b0f0 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PathsSerializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/PathsSerializer.java @@ -1,36 +1,37 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.Paths; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; import java.io.IOException; import java.util.Map.Entry; -public class PathsSerializer extends JsonSerializer { +public class PathsSerializer extends ValueSerializer { @Override public void serialize( - Paths value, JsonGenerator jgen, SerializerProvider provider) - throws IOException { + Paths value, JsonGenerator jgen, SerializationContext provider) + throws JacksonException { if (value != null && value.getExtensions() != null && !value.getExtensions().isEmpty()) { jgen.writeStartObject(); if (!value.isEmpty()) { for (Entry entry: value.entrySet()) { - jgen.writeObjectField(entry.getKey() , entry.getValue()); + jgen.writePOJOProperty(entry.getKey() , entry.getValue()); } } for (Entry entry: value.getExtensions().entrySet()) { - jgen.writeObjectField(entry.getKey() , entry.getValue()); + jgen.writePOJOProperty(entry.getKey() , entry.getValue()); } jgen.writeEndObject(); } else { - provider.defaultSerializeValue(value, jgen); + jgen.writePOJO(value); } } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/Schema31Serializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/Schema31Serializer.java index ee8502b23b..598f502557 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/Schema31Serializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/Schema31Serializer.java @@ -1,50 +1,46 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.ResolvableSerializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; import io.swagger.v3.oas.models.media.Schema; +import tools.jackson.databind.DatabindException; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; -import java.io.IOException; +public class Schema31Serializer extends ValueSerializer { -public class Schema31Serializer extends JsonSerializer implements ResolvableSerializer { + private ValueSerializer defaultSerializer; - private JsonSerializer defaultSerializer; - - public Schema31Serializer(JsonSerializer serializer) { + public Schema31Serializer(ValueSerializer serializer) { defaultSerializer = serializer; } @Override - public void resolve(SerializerProvider serializerProvider) throws JsonMappingException { - if (defaultSerializer instanceof ResolvableSerializer) { - ((ResolvableSerializer) defaultSerializer).resolve(serializerProvider); - } + public void resolve(SerializationContext serializerProvider) throws DatabindException { + defaultSerializer.resolve(serializerProvider); } @Override public void serialize( - Schema value, JsonGenerator jgen, SerializerProvider provider) - throws IOException { + Schema value, JsonGenerator jgen, SerializationContext provider) + throws JacksonException { if (value.getBooleanSchemaValue() != null) { jgen.writeBoolean(value.getBooleanSchemaValue()); return; } - + boolean hasNullExample = value.getExampleSetFlag() && value.getExample() == null; boolean hasNullDefault = value.getDefaultSetFlag() && value.getDefault() == null; - + if (hasNullExample || hasNullDefault) { jgen.writeStartObject(); defaultSerializer.unwrappingSerializer(null).serialize(value, jgen, provider); if (hasNullExample) { - jgen.writeNullField("example"); + jgen.writeNullProperty("example"); } if (hasNullDefault) { - jgen.writeNullField("default"); + jgen.writeNullProperty("default"); } jgen.writeEndObject(); } else { diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SchemaSerializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SchemaSerializer.java index 1aa9f4b721..641c328351 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SchemaSerializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SchemaSerializer.java @@ -1,48 +1,44 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.ResolvableSerializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; +import tools.jackson.databind.DatabindException; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; -import java.io.IOException; +public class SchemaSerializer extends ValueSerializer { -public class SchemaSerializer extends JsonSerializer implements ResolvableSerializer { + private ValueSerializer defaultSerializer; - private JsonSerializer defaultSerializer; - - public SchemaSerializer(JsonSerializer serializer) { + public SchemaSerializer(ValueSerializer serializer) { defaultSerializer = serializer; } @Override - public void resolve(SerializerProvider serializerProvider) throws JsonMappingException { - if (defaultSerializer instanceof ResolvableSerializer) { - ((ResolvableSerializer) defaultSerializer).resolve(serializerProvider); - } + public void resolve(SerializationContext serializerProvider) throws DatabindException { + defaultSerializer.resolve(serializerProvider); } @Override public void serialize( - Schema value, JsonGenerator jgen, SerializerProvider provider) - throws IOException { + Schema value, JsonGenerator jgen, SerializationContext provider) + throws JacksonException { if (StringUtils.isBlank(value.get$ref())) { boolean hasNullExample = value.getExampleSetFlag() && value.getExample() == null; boolean hasNullDefault = value.getDefaultSetFlag() && value.getDefault() == null; - + if (hasNullExample || hasNullDefault) { jgen.writeStartObject(); defaultSerializer.unwrappingSerializer(null).serialize(value, jgen, provider); if (hasNullExample) { - jgen.writeNullField("example"); + jgen.writeNullProperty("example"); } if (hasNullDefault) { - jgen.writeNullField("default"); + jgen.writeNullProperty("default"); } jgen.writeEndObject(); } else { @@ -52,7 +48,7 @@ public void serialize( } else { // handle ref schema serialization skipping all other props jgen.writeStartObject(); - jgen.writeStringField("$ref", value.get$ref()); + jgen.writeStringProperty("$ref", value.get$ref()); jgen.writeEndObject(); } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerAnnotationIntrospector.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerAnnotationIntrospector.java index 2b44610a4a..78faa8c3f0 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerAnnotationIntrospector.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerAnnotationIntrospector.java @@ -1,20 +1,24 @@ package io.swagger.v3.core.jackson; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.Version; -import com.fasterxml.jackson.databind.AnnotationIntrospector; -import com.fasterxml.jackson.databind.introspect.Annotated; -import com.fasterxml.jackson.databind.introspect.AnnotatedClass; -import com.fasterxml.jackson.databind.introspect.AnnotatedMember; -import com.fasterxml.jackson.databind.jsontype.NamedType; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import tools.jackson.core.Version; +import tools.jackson.databind.AnnotationIntrospector; +import tools.jackson.databind.cfg.MapperConfig; +import tools.jackson.databind.introspect.Annotated; +import tools.jackson.databind.introspect.AnnotatedClass; +import tools.jackson.databind.introspect.AnnotatedMember; +import tools.jackson.databind.jsontype.NamedType; import io.swagger.v3.core.util.AnnotationsUtils; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; import java.util.ArrayList; import java.util.Collections; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; public class SwaggerAnnotationIntrospector extends AnnotationIntrospector { private static final long serialVersionUID = 1L; @@ -25,7 +29,7 @@ public Version version() { } @Override - public Boolean hasRequiredMarker(AnnotatedMember m) { + public Boolean hasRequiredMarker(MapperConfig config, AnnotatedMember m) { XmlElement elem = m.getAnnotation(XmlElement.class); if (elem != null) { if (elem.required()) { @@ -57,7 +61,7 @@ public Boolean hasRequiredMarker(AnnotatedMember m) { } @Override - public String findPropertyDescription(Annotated a) { + public String findPropertyDescription(MapperConfig config, Annotated a) { Schema model = a.getAnnotation(Schema.class); if (model != null && !"".equals(model.description())) { return model.description(); @@ -67,7 +71,7 @@ public String findPropertyDescription(Annotated a) { } @Override - public List findSubtypes(Annotated a) { + public List findSubtypes(MapperConfig config, Annotated a) { Schema schema = a.getAnnotation(Schema.class); if (schema == null) { final ArraySchema arraySchema = a.getAnnotation(ArraySchema.class); @@ -87,11 +91,23 @@ public List findSubtypes(Annotated a) { } } + // Check for Jackson's @JsonSubTypes + JsonSubTypes jsonSubTypes = a.getAnnotation(JsonSubTypes.class); + if (jsonSubTypes != null) { + JsonSubTypes.Type[] types = jsonSubTypes.value(); + // Use LinkedHashSet to deduplicate subtypes (Jackson 3 AnnotationIntrospectorPair may return duplicates) + Set result = new LinkedHashSet<>(); + for (JsonSubTypes.Type type : types) { + result.add(new NamedType(type.value(), type.name())); + } + return new ArrayList<>(result); + } + return Collections.emptyList(); } @Override - public String findTypeName(AnnotatedClass ac) { + public String findTypeName(MapperConfig config, AnnotatedClass ac) { io.swagger.v3.oas.annotations.media.Schema mp = AnnotationsUtils.getSchemaAnnotation(ac); // allow override of name from annotation if (mp != null && !mp.name().isEmpty()) { diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerModule.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerModule.java index 695391a031..c8de25810b 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerModule.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/SwaggerModule.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.databind.module.SimpleModule; +import tools.jackson.databind.module.SimpleModule; public class SwaggerModule extends SimpleModule { private static final long serialVersionUID = 1L; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/TypeNameResolver.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/TypeNameResolver.java index 0f60413515..95e75c8c6f 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/TypeNameResolver.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/TypeNameResolver.java @@ -1,10 +1,9 @@ package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.databind.JavaType; +import tools.jackson.databind.JavaType; import io.swagger.v3.core.util.AnnotationsUtils; import io.swagger.v3.core.util.PrimitiveType; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.text.WordUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.Arrays; import java.util.Collections; @@ -70,7 +69,7 @@ protected String nameForGenericType(JavaType type, Set options) { final JavaType arg = type.containedType(i); final String argName = PrimitiveType.fromType(arg) != null ? nameForClass(arg, options) : nameForType(arg, options); - generic.append(WordUtils.capitalize(argName)); + generic.append(StringUtils.capitalize(argName)); } return generic.toString(); } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Components31Mixin.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Components31Mixin.java index 71945ebeec..5094a8d504 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Components31Mixin.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Components31Mixin.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.core.jackson.CallbackSerializer; import io.swagger.v3.oas.models.callbacks.Callback; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/ComponentsMixin.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/ComponentsMixin.java index ec6423126b..9ccfc9802f 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/ComponentsMixin.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/ComponentsMixin.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.core.jackson.CallbackSerializer; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.callbacks.Callback; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPI31Mixin.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPI31Mixin.java index 96add18b36..3a2d59093b 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPI31Mixin.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPI31Mixin.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.core.jackson.PathsSerializer; import io.swagger.v3.oas.models.Paths; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPIMixin.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPIMixin.java index d495abf326..a61374c663 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPIMixin.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OpenAPIMixin.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.core.jackson.PathsSerializer; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.Paths; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OperationMixin.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OperationMixin.java index 788b845f4b..5978eea684 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OperationMixin.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/OperationMixin.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.core.jackson.ApiResponsesSerializer; import io.swagger.v3.core.jackson.CallbackSerializer; import io.swagger.v3.oas.models.callbacks.Callback; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java index 782ae13225..f763ed8f95 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/Schema31Mixin.java @@ -6,10 +6,11 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; +import tools.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; import java.io.IOException; import java.math.BigDecimal; @@ -62,10 +63,10 @@ public abstract class Schema31Mixin { @JsonIgnore public abstract Boolean getBooleanSchemaValue(); - public static class TypeSerializer extends JsonSerializer> { + public static class TypeSerializer extends ValueSerializer> { @Override - public void serialize(Set types, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + public void serialize(Set types, JsonGenerator jsonGenerator, SerializationContext serializerProvider) throws JacksonException { if (types != null && types.size() == 1) { jsonGenerator.writeString((String)types.toArray()[0]); } else if (types != null && types.size() > 1){ diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java index 372bbcd5f5..6e71449bda 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java @@ -1,10 +1,11 @@ package io.swagger.v3.core.util; import com.fasterxml.jackson.annotation.JsonView; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.introspect.Annotated; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.introspect.Annotated; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContext; import io.swagger.v3.core.converter.ModelConverters; @@ -38,8 +39,8 @@ import io.swagger.v3.oas.models.servers.ServerVariable; import io.swagger.v3.oas.models.servers.ServerVariables; import io.swagger.v3.oas.models.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.math.NumberUtils; +import io.swagger.v3.core.util.StringUtils; +import io.swagger.v3.core.util.NumberUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -454,7 +455,7 @@ private static boolean resolveExample(Example exampleObject, ExampleObject examp try { ObjectMapper mapper = ObjectMapperFactory.buildStrictGenericObjectMapper(); exampleObject.setValue(mapper.readTree(example.value())); - } catch (IOException e) { + } catch (JacksonException e) { exampleObject.setValue(example.value()); } } @@ -756,7 +757,7 @@ public static Optional getSchemaFromAnnotation( _const = Json.mapper().readTree(schema._const()); } schemaObject.setConst(_const); - } catch (IOException e) { + } catch (JacksonException e) { schemaObject.setConst(schema._const()); } } @@ -940,7 +941,7 @@ private static void setExampleSchema(io.swagger.v3.oas.annotations.media.Schema } else { schemaObject.setExample(exampleValue); } - } catch (IOException ignored) { + } catch (JacksonException ignored) { schemaObject.setExample(exampleValue); } } @@ -977,7 +978,7 @@ private static void setDefaultSchema(io.swagger.v3.oas.annotations.media.Schema } else { schemaObject.setDefault(defaultValue); } - } catch (IOException ignored) { + } catch (JacksonException ignored) { schemaObject.setDefault(defaultValue); } } @@ -1010,7 +1011,7 @@ public static List parseExamplesArray(io.swagger.v3.oas.annotations.medi } else { parsedExamples.add(trimmed); } - } catch (IOException ignored) { + } catch (JacksonException ignored) { parsedExamples.add(trimmed); } } @@ -1535,7 +1536,7 @@ public static Optional
getHeader(io.swagger.v3.oas.annotations.headers.H if (StringUtils.isNotBlank(header.example())) { try { headerObject.setExample(Json.mapper().readTree(header.example())); - } catch (IOException e) { + } catch (JacksonException e) { headerObject.setExample(header.example()); } } @@ -1736,7 +1737,7 @@ public static Schema clone(Schema schema, boolean openapi31) { schema = Json.mapper().readValue(Json.pretty(schema), Schema.class); } schema.setName(cloneName); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Could not clone schema", e); } return schema; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ApiResponsesDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ApiResponsesDeserializer.java index cbf21a1a9e..12a05a17d0 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ApiResponsesDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ApiResponsesDeserializer.java @@ -1,26 +1,27 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; +import tools.jackson.databind.ValueDeserializer; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; -public class ApiResponsesDeserializer extends JsonDeserializer { +public class ApiResponsesDeserializer extends ValueDeserializer { protected boolean openapi31; @Override public ApiResponses deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { + throws JacksonException { final ObjectMapper mapper; if (openapi31) { @@ -29,12 +30,12 @@ public ApiResponses deserialize(JsonParser jp, DeserializationContext ctxt) mapper = Json.mapper(); } ApiResponses result = new ApiResponses(); - JsonNode node = jp.getCodec().readTree(jp); + JsonNode node = jp.objectReadContext().readTree(jp); ObjectNode objectNode = (ObjectNode) node; Map extensions = new LinkedHashMap<>(); - for (Iterator it = objectNode.fieldNames(); it.hasNext(); ) { - String childName = it.next(); - JsonNode child = objectNode.get(childName); + for (Map.Entry entry : objectNode.properties()) { + String childName = entry.getKey(); + JsonNode child = entry.getValue(); // if name start with `x-` consider it an extension if (childName.startsWith("x-")) { extensions.put(childName, mapper.convertValue(child, Object.class)); diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/CallbackDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/CallbackDeserializer.java index 1fc2c3ec92..2360920ec8 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/CallbackDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/CallbackDeserializer.java @@ -1,26 +1,28 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.callbacks.Callback; +import tools.jackson.databind.ValueDeserializer; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Set; -public class CallbackDeserializer extends JsonDeserializer { +public class CallbackDeserializer extends ValueDeserializer { protected boolean openapi31; @Override public Callback deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { + throws JacksonException { final ObjectMapper mapper; if (openapi31) { @@ -29,17 +31,17 @@ public Callback deserialize(JsonParser jp, DeserializationContext ctxt) mapper = Json.mapper(); } Callback result = new Callback(); - JsonNode node = jp.getCodec().readTree(jp); + JsonNode node = jp.objectReadContext().readTree(jp); ObjectNode objectNode = (ObjectNode)node; Map extensions = new LinkedHashMap<>(); - for (Iterator it = objectNode.fieldNames(); it.hasNext(); ) { - String childName = it.next(); - JsonNode child = objectNode.get(childName); + for (Map.Entry entry : objectNode.properties()) { + String childName = entry.getKey(); + JsonNode child = entry.getValue(); // if name start with `x-` consider it an extension if (childName.startsWith("x-")) { extensions.put(childName, mapper.convertValue(child, Object.class)); } else if (childName.equals("$ref")) { - result.$ref(child.asText()); + result.$ref(child.asString()); } else { result.put(childName, mapper.convertValue(child, PathItem.class)); } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule.java index b5e14d5d29..3625c07074 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.module.SimpleModule; +import tools.jackson.databind.module.SimpleModule; import io.swagger.v3.oas.models.Paths; import io.swagger.v3.oas.models.callbacks.Callback; import io.swagger.v3.oas.models.headers.Header; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule31.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule31.java index 1657c5f7b9..846cf05d52 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule31.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/DeserializationModule31.java @@ -1,10 +1,9 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.DeserializationConfig; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.deser.BeanDeserializerModifier; -import com.fasterxml.jackson.databind.module.SimpleModule; +import tools.jackson.databind.BeanDescription; +import tools.jackson.databind.DeserializationConfig; +import tools.jackson.databind.deser.ValueDeserializerModifier; +import tools.jackson.databind.module.SimpleModule; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Paths; import io.swagger.v3.oas.models.callbacks.Callback; @@ -15,6 +14,7 @@ import io.swagger.v3.oas.models.parameters.Parameter; import io.swagger.v3.oas.models.responses.ApiResponses; import io.swagger.v3.oas.models.security.SecurityScheme; +import tools.jackson.databind.ValueDeserializer; public class DeserializationModule31 extends SimpleModule { @@ -32,10 +32,10 @@ public DeserializationModule31() { this.addDeserializer(Paths.class, new Paths31Deserializer()); this.addDeserializer(Callback.class, new Callback31Deserializer()); - this.setDeserializerModifier(new BeanDeserializerModifier() + this.setDeserializerModifier(new ValueDeserializerModifier() { - @Override public JsonDeserializer modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer deserializer) { - if (beanDesc.getBeanClass() == OpenAPI.class) { + @Override public ValueDeserializer modifyDeserializer(DeserializationConfig config, BeanDescription.Supplier beanDescRef, ValueDeserializer deserializer) { + if (beanDescRef.getBeanClass() == OpenAPI.class) { return new OpenAPI31Deserializer(deserializer); } return deserializer; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingPropertyStyleEnumDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingPropertyStyleEnumDeserializer.java index 37891e6c57..5d89d5d9e4 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingPropertyStyleEnumDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingPropertyStyleEnumDeserializer.java @@ -1,22 +1,23 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; import io.swagger.v3.oas.models.media.EncodingProperty; +import tools.jackson.databind.ValueDeserializer; import java.io.IOException; import java.util.Arrays; import java.util.stream.Collectors; -public class EncodingPropertyStyleEnumDeserializer extends JsonDeserializer { +public class EncodingPropertyStyleEnumDeserializer extends ValueDeserializer { @Override public EncodingProperty.StyleEnum deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { - JsonNode node = jp.getCodec().readTree(jp); + throws JacksonException { + JsonNode node = jp.objectReadContext().readTree(jp); if (node != null) { - String value = node.asText(); + String value = node.asString(); return getStyleEnum(value); } return null; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingStyleEnumDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingStyleEnumDeserializer.java index f5f4d5bb86..1676452cb4 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingStyleEnumDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/EncodingStyleEnumDeserializer.java @@ -1,22 +1,23 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; import io.swagger.v3.oas.models.media.Encoding; +import tools.jackson.databind.ValueDeserializer; import java.io.IOException; import java.util.Arrays; import java.util.stream.Collectors; -public class EncodingStyleEnumDeserializer extends JsonDeserializer { +public class EncodingStyleEnumDeserializer extends ValueDeserializer { @Override public Encoding.StyleEnum deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { - JsonNode node = jp.getCodec().readTree(jp); + throws JacksonException { + JsonNode node = jp.objectReadContext().readTree(jp); if (node != null) { - String value = node.asText(); + String value = node.asString(); return getStyleEnum(value); } return null; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/HeaderStyleEnumDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/HeaderStyleEnumDeserializer.java index d7f27ef70c..0ffd9874eb 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/HeaderStyleEnumDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/HeaderStyleEnumDeserializer.java @@ -1,22 +1,23 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; import io.swagger.v3.oas.models.headers.Header; +import tools.jackson.databind.ValueDeserializer; import java.io.IOException; import java.util.Arrays; import java.util.stream.Collectors; -public class HeaderStyleEnumDeserializer extends JsonDeserializer { +public class HeaderStyleEnumDeserializer extends ValueDeserializer { @Override public Header.StyleEnum deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { - JsonNode node = jp.getCodec().readTree(jp); + throws JacksonException { + JsonNode node = jp.objectReadContext().readTree(jp); if (node != null) { - String value = node.asText(); + String value = node.asString(); return getStyleEnum(value); } return null; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ImmutablePair.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ImmutablePair.java new file mode 100644 index 0000000000..dd4a9d258b --- /dev/null +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ImmutablePair.java @@ -0,0 +1,45 @@ +package io.swagger.v3.core.util; + +import java.util.Objects; + +/** + * Replacement for commons-lang3 ImmutablePair. + */ +public final class ImmutablePair extends Pair { + + private final L left; + private final R right; + + public ImmutablePair(L left, R right) { + this.left = left; + this.right = right; + } + + @Override + public L getLeft() { + return left; + } + + @Override + public R getRight() { + return right; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ImmutablePair that = (ImmutablePair) o; + return Objects.equals(left, that.left) && Objects.equals(right, that.right); + } + + @Override + public int hashCode() { + return Objects.hash(left, right); + } + + @Override + public String toString() { + return "(" + left + "," + right + ")"; + } +} diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java index 6ff1490349..e67be46b49 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java @@ -1,9 +1,12 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.databind.cfg.MapperBuilder; + +import java.util.function.Consumer; public class Json { diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java index 1fc793fdab..b33fd845ff 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java @@ -1,14 +1,16 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectWriter; import io.swagger.v3.oas.models.media.Schema; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.cfg.MapperBuilder; import java.util.Map; +import java.util.function.Consumer; public class Json31 { @@ -26,6 +28,7 @@ public static ObjectMapper mapper() { return ObjectMapperHolder.MAPPER; } + public static ObjectMapper converterMapper() { return ConverterMapperHolder.MAPPER; } @@ -55,7 +58,7 @@ public static void prettyPrint(Object o) { public static Map jsonSchemaAsMap(String jsonSchema) { try { return mapper().readValue(jsonSchema, Map.class); - } catch (JsonProcessingException e) { + } catch (JacksonException e) { LOGGER.error("Exception converting jsonSchema to Map", e); return null; } @@ -64,7 +67,7 @@ public static Map jsonSchemaAsMap(String jsonSchema) { public static Map jsonSchemaAsMap(Schema schema) { try { return mapper().readValue(mapper().writeValueAsString(schema), Map.class); - } catch (JsonProcessingException e) { + } catch (JacksonException e) { LOGGER.error("Exception converting jsonSchema to Map", e); return null; } @@ -73,7 +76,7 @@ public static Map jsonSchemaAsMap(Schema schema) { public static Map jsonSchemaAsMap(JsonNode schema) { try { return mapper().readValue(mapper().writeValueAsString(schema), Map.class); - } catch (JsonProcessingException e) { + } catch (JacksonException e) { LOGGER.error("Exception converting jsonSchema to Map", e); return null; } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/KotlinDetector.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/KotlinDetector.java index a861fd89d7..2133b31846 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/KotlinDetector.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/KotlinDetector.java @@ -3,11 +3,11 @@ import java.lang.annotation.Annotation; public class KotlinDetector { - private static final Boolean kotlinAvailable; + private static final Class kotlinMetadata; private static final Class kotlinDeprecated; static { - kotlinAvailable = loadByClassOrNull("kotlin.Metadata") != null; + kotlinMetadata = loadByClassOrNull("kotlin.Metadata"); kotlinDeprecated = loadByClassOrNull("kotlin.Deprecated"); } @@ -20,10 +20,17 @@ private static Class loadByClassOrNull(String className) { } public static boolean isKotlinPresent() { - return kotlinAvailable; + return kotlinMetadata != null; } public static Class getKotlinDeprecated() { return kotlinDeprecated; } + + public static boolean isKotlinClass(Class cls) { + if (cls == null) { + return false; + } + return kotlinMetadata != null && cls.getAnnotation(kotlinMetadata) != null; + } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ModelDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ModelDeserializer.java index a5bbfc941b..6f133b63b7 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ModelDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ModelDeserializer.java @@ -1,12 +1,11 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.fasterxml.jackson.databind.node.TextNode; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.ArrayNode; +import tools.jackson.databind.node.ObjectNode; import io.swagger.v3.oas.models.media.ArbitrarySchema; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.BooleanSchema; @@ -27,7 +26,9 @@ import io.swagger.v3.oas.models.media.TimeLocalSchema; import io.swagger.v3.oas.models.media.TimeSchema; import io.swagger.v3.oas.models.media.UUIDSchema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; +import tools.jackson.databind.ValueDeserializer; +import tools.jackson.databind.node.StringNode; import java.io.IOException; import java.util.Arrays; @@ -35,7 +36,7 @@ import java.util.List; import java.util.Set; -public class ModelDeserializer extends JsonDeserializer { +public class ModelDeserializer extends ValueDeserializer { private static final String TYPE = "type"; private static final String OBJECT_TYPE = "object"; @@ -72,8 +73,8 @@ public class ModelDeserializer extends JsonDeserializer { protected boolean openapi31 = false; @Override public Schema deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { - JsonNode node = jp.getCodec().readTree(jp); + throws JacksonException { + JsonNode node = jp.objectReadContext().readTree(jp); Schema schema; @@ -154,12 +155,12 @@ private Schema deserializeJsonSchema(JsonNode node) { ((ObjectNode)node).remove(ADDITIONAL_PROPERTIES); } schema = Json31.mapper().convertValue(node, JsonSchema.class); - if (type instanceof TextNode) { - schema.types(new LinkedHashSet<>(Arrays.asList(type.textValue()))); - } else if (type instanceof ArrayNode){ + if (type instanceof StringNode) { + schema.types(new LinkedHashSet<>(Arrays.asList(type.asString()))); + } else if (type instanceof ArrayNode arrayNode){ Set types = new LinkedHashSet<>(); - ((ArrayNode)type).elements().forEachRemaining( n -> { - types.add(n.textValue()); + arrayNode.values().iterator().forEachRemaining( n -> { + types.add(n.asString()); }); schema.types(types); } @@ -185,7 +186,7 @@ private Schema deserializeJsonSchema(JsonNode node) { private Schema deserializeSchemaWithType(JsonNode node, JsonNode typeNode) { Schema schema = null; - String type = ((TextNode) typeNode).textValue(); + String type = ((StringNode) typeNode).stringValue(); String format = node.get(FORMAT) == null ? "" : getNodeAsString(node, FORMAT); if (type.equals(ARRAY_TYPE)) { @@ -228,10 +229,17 @@ private Schema deserializeSchemaWithType(JsonNode node, JsonNode typeNode) { } private String getNodeAsString(JsonNode jsonNode, String field) { - return jsonNode.get(field).textValue(); + return ((StringNode) jsonNode.get(field)).stringValue(); } private String getRefAsString(JsonNode jsonNode) { - return jsonNode.get(REF).asText(); + JsonNode refNode = jsonNode.get(REF); + if (refNode instanceof StringNode) { + return ((StringNode) refNode).stringValue(); + } + if (refNode.isValueNode()) { + return refNode.asString(); + } + return ""; } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/NumberUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/NumberUtils.java new file mode 100644 index 0000000000..3a36ddf4f0 --- /dev/null +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/NumberUtils.java @@ -0,0 +1,27 @@ +package io.swagger.v3.core.util; + +import java.math.BigDecimal; + +/** + * Utility methods replacing previously used commons-lang3 NumberUtils. + */ +public final class NumberUtils { + + private NumberUtils() { + } + + /** + * @return {@code true} if the string can be parsed as a non-null valid number + */ + public static boolean isCreatable(String str) { + if (str == null || str.isBlank()) { + return false; + } + try { + new BigDecimal(str.trim()); + return true; + } catch (NumberFormatException e) { + return false; + } + } +} diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ObjectMapperFactory.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ObjectMapperFactory.java index a02539f54c..5ba9ee5ee0 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ObjectMapperFactory.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ObjectMapperFactory.java @@ -1,19 +1,13 @@ package io.swagger.v3.core.util; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.core.JsonFactory; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.Module; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationConfig; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.databind.ser.BeanSerializerModifier; -import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; -import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import tools.jackson.core.StreamWriteFeature; +import tools.jackson.core.json.JsonFactory; +import tools.jackson.databind.*; +import tools.jackson.databind.cfg.MapperBuilder; +import tools.jackson.databind.introspect.DefaultAccessorNamingStrategy; +import tools.jackson.databind.json.JsonMapper; +import tools.jackson.databind.module.SimpleModule; import io.swagger.v3.core.jackson.ExampleSerializer; import io.swagger.v3.core.jackson.Schema31Serializer; import io.swagger.v3.core.jackson.MediaTypeSerializer; @@ -67,9 +61,16 @@ import io.swagger.v3.oas.models.servers.ServerVariable; import io.swagger.v3.oas.models.servers.ServerVariables; import io.swagger.v3.oas.models.tags.Tag; +import tools.jackson.core.TokenStreamFactory; +import tools.jackson.databind.ser.ValueSerializerModifier; +import tools.jackson.dataformat.yaml.YAMLFactory; +import tools.jackson.dataformat.yaml.YAMLFactoryBuilder; +import tools.jackson.dataformat.yaml.YAMLMapper; +import tools.jackson.dataformat.yaml.YAMLWriteFeature; import java.util.LinkedHashMap; import java.util.Map; +import java.util.function.Consumer; public class ObjectMapperFactory { @@ -81,6 +82,7 @@ public static ObjectMapper createJson() { return create(null, false); } + public static ObjectMapper createYaml(YAMLFactory yamlFactory) { return create(yamlFactory, false); } @@ -90,16 +92,17 @@ public static ObjectMapper createYaml() { } public static ObjectMapper createYaml(boolean openapi31) { - YAMLFactory factory = new YAMLFactory(); - factory.disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER); - factory.enable(YAMLGenerator.Feature.MINIMIZE_QUOTES); - factory.enable(YAMLGenerator.Feature.SPLIT_LINES); - factory.enable(YAMLGenerator.Feature.ALWAYS_QUOTE_NUMBERS_AS_STRINGS); + YAMLFactory factory = YAMLFactory.builder() + .disable(YAMLWriteFeature.WRITE_DOC_START_MARKER) + .enable(YAMLWriteFeature.MINIMIZE_QUOTES) + .enable(YAMLWriteFeature.SPLIT_LINES) + .enable(YAMLWriteFeature.ALWAYS_QUOTE_NUMBERS_AS_STRINGS) + .build(); return create(factory, openapi31); } - public static ObjectMapper createJson31(JsonFactory jsonFactory) { + public static ObjectMapper createJson31(TokenStreamFactory jsonFactory) { return create(jsonFactory, true); } @@ -115,25 +118,32 @@ public static ObjectMapper createYaml31() { return createYaml(true); } - public static ObjectMapper create(JsonFactory jsonFactory, boolean openapi31) { - ObjectMapper mapper = jsonFactory == null ? new ObjectMapper() : new ObjectMapper(jsonFactory); + public static ObjectMapper create(TokenStreamFactory jsonFactory, boolean openapi31) { + MapperBuilder> mapperBuilder; + if (jsonFactory instanceof JsonFactory factory) { + mapperBuilder = JsonMapper.builder(factory); + } else if (jsonFactory instanceof YAMLFactory factory) { + mapperBuilder = YAMLMapper.builder(factory); + } else { + mapperBuilder = new ObjectMapper().rebuild(); + } if (!openapi31) { // handle ref schema serialization skipping all other props - mapper.registerModule(new SimpleModule() { + mapperBuilder.addModule(new SimpleModule() { @Override public void setupModule(SetupContext context) { super.setupModule(context); - context.addBeanSerializerModifier(new BeanSerializerModifier() { + context.addSerializerModifier(new ValueSerializerModifier() { @Override - public JsonSerializer modifySerializer( - SerializationConfig config, BeanDescription desc, JsonSerializer serializer) { + public ValueSerializer modifySerializer( + SerializationConfig config, BeanDescription.Supplier desc, ValueSerializer serializer) { if (Schema.class.isAssignableFrom(desc.getBeanClass())) { - return new SchemaSerializer((JsonSerializer) serializer); + return new SchemaSerializer((ValueSerializer) serializer); } else if (MediaType.class.isAssignableFrom(desc.getBeanClass())) { - return new MediaTypeSerializer((JsonSerializer) serializer); + return new MediaTypeSerializer((ValueSerializer) serializer); } else if (Example.class.isAssignableFrom(desc.getBeanClass())) { - return new ExampleSerializer((JsonSerializer) serializer); + return new ExampleSerializer((ValueSerializer) serializer); } return serializer; } @@ -141,20 +151,20 @@ public JsonSerializer modifySerializer( } }); } else { - mapper.registerModule(new SimpleModule() { + mapperBuilder.addModule(new SimpleModule() { @Override public void setupModule(SetupContext context) { super.setupModule(context); - context.addBeanSerializerModifier(new BeanSerializerModifier() { + context.addSerializerModifier(new ValueSerializerModifier() { @Override - public JsonSerializer modifySerializer( - SerializationConfig config, BeanDescription desc, JsonSerializer serializer) { + public ValueSerializer modifySerializer( + SerializationConfig config, BeanDescription.Supplier desc, ValueSerializer serializer) { if (Schema.class.isAssignableFrom(desc.getBeanClass())) { - return new Schema31Serializer((JsonSerializer) serializer); + return new Schema31Serializer((ValueSerializer) serializer); } else if (MediaType.class.isAssignableFrom(desc.getBeanClass())) { - return new MediaTypeSerializer((JsonSerializer) serializer); + return new MediaTypeSerializer((ValueSerializer) serializer); } else if (Example.class.isAssignableFrom(desc.getBeanClass())) { - return new ExampleSerializer((JsonSerializer) serializer); + return new ExampleSerializer((ValueSerializer) serializer); } return serializer; } @@ -164,13 +174,12 @@ public JsonSerializer modifySerializer( } if (!openapi31) { - Module deserializerModule = new DeserializationModule(); - mapper.registerModule(deserializerModule); + JacksonModule deserializerModule = new DeserializationModule(); + mapperBuilder.addModule(deserializerModule); } else { - Module deserializerModule = new DeserializationModule31(); - mapper.registerModule(deserializerModule); + JacksonModule deserializerModule = new DeserializationModule31(); + mapperBuilder.addModule(deserializerModule); } - mapper.registerModule(new JavaTimeModule()); Map, Class> sourceMixins = new LinkedHashMap<>(); @@ -218,26 +227,25 @@ public JsonSerializer modifySerializer( sourceMixins.put(DateSchema.class, DateSchemaMixin.class); sourceMixins.put(Discriminator.class, Discriminator31Mixin.class); } - mapper.setMixIns(sourceMixins); - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); - mapper.configure(SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN, true); - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - - return mapper; + mapperBuilder.addMixIns(sourceMixins); + mapperBuilder.configure(StreamWriteFeature.WRITE_BIGDECIMAL_AS_PLAIN, true); + mapperBuilder.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, false); + mapperBuilder.changeDefaultPropertyInclusion(incl -> incl + .withContentInclusion(JsonInclude.Include.NON_NULL) + .withValueInclusion(JsonInclude.Include.NON_NULL)); + mapperBuilder.accessorNaming(new DefaultAccessorNamingStrategy.Provider() + .withFirstCharAcceptance(true, true)); + + return mapperBuilder.build(); } public static ObjectMapper createJsonConverter() { - ObjectMapper mapper = new ObjectMapper(); + JsonMapper.Builder builder = JsonMapper.builder(); - Module deserializerModule = new DeserializationModule(); - mapper.registerModule(deserializerModule); - mapper.registerModule(new JavaTimeModule()); + JacksonModule deserializerModule = new DeserializationModule(); + builder.addModule(deserializerModule); Map, Class> sourceMixins = new LinkedHashMap<>(); @@ -273,33 +281,21 @@ public static ObjectMapper createJsonConverter() { sourceMixins.put(XML.class, ExtensionsMixin.class); sourceMixins.put(Schema.class, SchemaConverterMixin.class); - mapper.setMixIns(sourceMixins); - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); - mapper.configure(SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN, true); - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - - return mapper; + builder.addMixIns(sourceMixins); + builder.configure(StreamWriteFeature.WRITE_BIGDECIMAL_AS_PLAIN, true); + builder.changeDefaultPropertyInclusion(incl -> incl + .withContentInclusion(JsonInclude.Include.NON_NULL) + .withValueInclusion(JsonInclude.Include.NON_NULL)); + + return builder.build(); } public static ObjectMapper buildStrictGenericObjectMapper() { - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); - try { - mapper.configure(DeserializationFeature.valueOf("FAIL_ON_TRAILING_TOKENS"), true); - } catch (Throwable e) { - // add only if supported by Jackson version 2.9+ - } - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - return mapper; + JsonMapper.Builder builder = JsonMapper.builder(); + builder.changeDefaultPropertyInclusion(incl -> incl + .withContentInclusion(JsonInclude.Include.NON_NULL) + .withValueInclusion(JsonInclude.Include.NON_NULL)); + return builder.build(); } - } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPI31Deserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPI31Deserializer.java index 16e64b2ac5..905a49d09d 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPI31Deserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPI31Deserializer.java @@ -1,36 +1,31 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.deser.ResolvableDeserializer; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.deser.std.DelegatingDeserializer; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.SpecVersion; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ValueDeserializer; -import java.io.IOException; +public class OpenAPI31Deserializer extends DelegatingDeserializer { -public class OpenAPI31Deserializer extends StdDeserializer implements ResolvableDeserializer { - - private final JsonDeserializer defaultDeserializer; - - public OpenAPI31Deserializer(JsonDeserializer defaultDeserializer) + public OpenAPI31Deserializer(ValueDeserializer defaultDeserializer) { - super(OpenAPI.class); - this.defaultDeserializer = defaultDeserializer; + super(defaultDeserializer); + } + + @Override + protected ValueDeserializer newDelegatingInstance(ValueDeserializer newDelegatee) { + return new OpenAPI31Deserializer(newDelegatee); } @Override public OpenAPI deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException, JsonProcessingException { - OpenAPI openAPI = (OpenAPI) defaultDeserializer.deserialize(jp, ctxt); + throws JacksonException { + OpenAPI openAPI = (OpenAPI) super.deserialize(jp, ctxt); openAPI.setSpecVersion(SpecVersion.V31); return openAPI; } - @Override public void resolve(DeserializationContext ctxt) throws JsonMappingException { - ((ResolvableDeserializer) defaultDeserializer).resolve(ctxt); - } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPISchema2JsonSchema.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPISchema2JsonSchema.java index d1b8662acb..9d83dc7b5d 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPISchema2JsonSchema.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/OpenAPISchema2JsonSchema.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.oas.models.SpecVersion; import io.swagger.v3.oas.models.media.Schema; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Pair.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Pair.java new file mode 100644 index 0000000000..864b0460c2 --- /dev/null +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Pair.java @@ -0,0 +1,15 @@ +package io.swagger.v3.core.util; + +/** + * Replacement for commons-lang3 Pair; provides getLeft/getRight accessors. + */ +public abstract class Pair { + + public abstract L getLeft(); + + public abstract R getRight(); + + public static Pair of(L left, R right) { + return new ImmutablePair<>(left, right); + } +} diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterDeserializer.java index 14918e8858..8d04273c87 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterDeserializer.java @@ -1,42 +1,44 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectReader; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.DeserializationFeature; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectReader; import io.swagger.v3.oas.models.parameters.CookieParameter; import io.swagger.v3.oas.models.parameters.HeaderParameter; import io.swagger.v3.oas.models.parameters.Parameter; import io.swagger.v3.oas.models.parameters.PathParameter; import io.swagger.v3.oas.models.parameters.QueryParameter; +import tools.jackson.databind.ValueDeserializer; +import tools.jackson.databind.cfg.EnumFeature; import java.io.IOException; -public class ParameterDeserializer extends JsonDeserializer { +public class ParameterDeserializer extends ValueDeserializer { protected boolean openapi31; @Override public Parameter deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { + throws JacksonException { Parameter result = null; - JsonNode node = jp.getCodec().readTree(jp); + JsonNode node = jp.objectReadContext().readTree(jp); JsonNode sub = node.get("$ref"); JsonNode inNode = node.get("in"); JsonNode desc = node.get("description"); if (sub != null) { - result = new Parameter().$ref(sub.asText()); + result = new Parameter().$ref(sub.asString()); if (desc != null && openapi31) { - result.description(desc.asText()); + result.description(desc.asString()); } } else if (inNode != null) { - String in = inNode.asText(); + String in = inNode.asString(); ObjectReader reader = null; ObjectMapper mapper = null; @@ -57,7 +59,7 @@ public Parameter deserialize(JsonParser jp, DeserializationContext ctxt) reader = mapper.readerFor(CookieParameter.class); } if (reader != null) { - result = reader.with(DeserializationFeature.READ_ENUMS_USING_TO_STRING).readValue(node); + result = reader.with(EnumFeature.READ_ENUMS_USING_TO_STRING).readValue(node); } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterProcessor.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterProcessor.java index 7d61984a59..6990158eb9 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterProcessor.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ParameterProcessor.java @@ -13,11 +13,12 @@ import io.swagger.v3.oas.models.media.Content; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.parameters.Parameter; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.core.JacksonException; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.Size; import java.io.IOException; import java.lang.annotation.Annotation; import java.lang.reflect.Type; @@ -155,7 +156,7 @@ public static Parameter applyAnnotations( // handle first FormParam as it affects Explode resolving for (Annotation annotation : annotations) { - if (annotation.annotationType().getName().equals("javax.ws.rs.FormParam")) { + if (annotation.annotationType().getName().equals("jakarta.ws.rs.FormParam")) { try { String name = (String) annotation.annotationType().getMethod(VALUE_METHOD).invoke(annotation); if (StringUtils.isNotBlank(name)) { @@ -201,7 +202,7 @@ public static Parameter applyAnnotations( if (StringUtils.isNotBlank(p.example())) { try { parameter.setExample(Json.mapper().readTree(p.example())); - } catch (IOException e) { + } catch (JacksonException e) { parameter.setExample(p.example()); } } @@ -248,7 +249,7 @@ public static Parameter applyAnnotations( setParameterStyle(parameter, p); setParameterExplode(parameter, p); - } else if (annotation.annotationType().getName().equals("javax.ws.rs.PathParam")) { + } else if (annotation.annotationType().getName().equals("jakarta.ws.rs.PathParam")) { try { String name = (String) annotation.annotationType().getMethod(VALUE_METHOD).invoke(annotation); if (StringUtils.isNotBlank(name)) { @@ -433,9 +434,9 @@ public AnnotationsHelper(List annotations, Type _type) { String rsDefault = null; if (annotations != null) { for (Annotation item : annotations) { - if ("javax.ws.rs.core.Context".equals(item.annotationType().getName())) { + if ("jakarta.ws.rs.core.Context".equals(item.annotationType().getName())) { context = true; - } else if ("javax.ws.rs.DefaultValue".equals(item.annotationType().getName())) { + } else if ("jakarta.ws.rs.DefaultValue".equals(item.annotationType().getName())) { try { rsDefault = (String) item.annotationType().getMethod(VALUE_METHOD).invoke(item); } catch (Exception ex) { diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathUtils.java index c7dd1c879f..b66808d8e4 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathUtils.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathUtils.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.util; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathsDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathsDeserializer.java index f1738165e7..4a35788b85 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathsDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PathsDeserializer.java @@ -1,26 +1,27 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.Paths; +import tools.jackson.databind.ValueDeserializer; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; -public class PathsDeserializer extends JsonDeserializer { +public class PathsDeserializer extends ValueDeserializer { protected boolean openapi31; @Override public Paths deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { + throws JacksonException { final ObjectMapper mapper; if (openapi31) { @@ -30,12 +31,12 @@ public Paths deserialize(JsonParser jp, DeserializationContext ctxt) } Paths result = new Paths(); - JsonNode node = jp.getCodec().readTree(jp); + JsonNode node = jp.objectReadContext().readTree(jp); ObjectNode objectNode = (ObjectNode)node; Map extensions = new LinkedHashMap<>(); - for (Iterator it = objectNode.fieldNames(); it.hasNext(); ) { - String childName = it.next(); - JsonNode child = objectNode.get(childName); + for (Map.Entry entry : objectNode.properties()) { + String childName = entry.getKey(); + JsonNode child = entry.getValue(); // if name start with `x-` consider it an extesion if (childName.startsWith("x-")) { extensions.put(childName, mapper.convertValue(child, Object.class)); diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PrimitiveType.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PrimitiveType.java index d3164f9420..ef0d89ee91 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PrimitiveType.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PrimitiveType.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.type.TypeFactory; +import tools.jackson.databind.type.TypeFactory; import io.swagger.v3.oas.models.media.BinarySchema; import io.swagger.v3.oas.models.media.BooleanSchema; import io.swagger.v3.oas.models.media.ByteArraySchema; @@ -17,7 +17,7 @@ import io.swagger.v3.oas.models.media.TimeLocalSchema; import io.swagger.v3.oas.models.media.TimeSchema; import io.swagger.v3.oas.models.media.UUIDSchema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.lang.reflect.Type; import java.util.ArrayList; @@ -341,6 +341,7 @@ public Schema createProperty31() { static { systemPrefixes.add("java."); systemPrefixes.add("javax."); + systemPrefixes.add("jakarta."); nonSystemTypes.add("java.time.LocalTime"); final Map dms = new HashMap<>(); @@ -503,7 +504,7 @@ public static Set nonSystemTypePackages() { } public static PrimitiveType fromTypeAndFormat(Type type, String format) { - final Class raw = TypeFactory.defaultInstance().constructType(type).getRawClass(); + final Class raw = TypeFactory.createDefaultInstance().constructType(type).getRawClass(); final Collection keys = MULTI_KEY_CLASSES.get(raw); if (keys == null || keys.isEmpty() || StringUtils.isBlank(format)) { return fromType(type); @@ -517,7 +518,7 @@ public static PrimitiveType fromTypeAndFormat(Type type, String format) { } public static PrimitiveType fromType(Type type) { - final Class raw = TypeFactory.defaultInstance().constructType(type).getRawClass(); + final Class raw = TypeFactory.createDefaultInstance().constructType(type).getRawClass(); final PrimitiveType key = KEY_CLASSES.get(raw); if (key != null) { if (!customExcludedClasses.contains(raw.getName())) { diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/RefUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/RefUtils.java index cac8c6516c..10469dc326 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/RefUtils.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/RefUtils.java @@ -1,9 +1,7 @@ package io.swagger.v3.core.util; import io.swagger.v3.oas.models.Components; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; +import io.swagger.v3.core.util.StringUtils; public class RefUtils { diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReferenceTypeUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReferenceTypeUtils.java index feeb61356a..055ad5827e 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReferenceTypeUtils.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReferenceTypeUtils.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.JavaType; +import tools.jackson.databind.JavaType; import io.swagger.v3.core.converter.AnnotatedType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReflectionUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReflectionUtils.java index 182f0dbe4a..9866dd3540 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReflectionUtils.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ReflectionUtils.java @@ -1,8 +1,7 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.type.TypeFactory; -import org.apache.commons.lang3.ArrayUtils; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.type.TypeFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -222,7 +221,7 @@ private static boolean hasIdenticalParameters(Class[] srcParameterTypes, Clas public static boolean isInject(List annotations) { for (Annotation annotation : annotations) { // use string name to avoid additional dependencies - if ("javax.inject.Inject".equals(annotation.annotationType().getName())) { + if ("jakarta.inject.Inject".equals(annotation.annotationType().getName())) { return true; } } @@ -415,9 +414,10 @@ public static Annotation[][] getParameterAnnotations(Method method) { for (int j = 0; j < overriddenAnnotations[i].length; j++) { if (!types.contains(overriddenAnnotations[i][j] .annotationType())) { - methodAnnotations[i] = ArrayUtils.add( - methodAnnotations[i], - overriddenAnnotations[i][j]); + Annotation[] current = methodAnnotations[i]; + Annotation[] newArray = Arrays.copyOf(current, current.length + 1); + newArray[newArray.length - 1] = overriddenAnnotations[i][j]; + methodAnnotations[i] = newArray; } } @@ -435,7 +435,7 @@ public static Annotation[][] getParameterAnnotations(Method method) { * @return true if the type is void */ public static boolean isVoid(Type type) { - final Class cls = TypeFactory.defaultInstance().constructType(type).getRawClass(); + final Class cls = TypeFactory.createDefaultInstance().constructType(type).getRawClass(); return Void.class.isAssignableFrom(cls) || Void.TYPE.isAssignableFrom(cls); } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SecuritySchemeDeserializer.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SecuritySchemeDeserializer.java index 25756a9daf..172872b242 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SecuritySchemeDeserializer.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SecuritySchemeDeserializer.java @@ -1,26 +1,25 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.core.exc.StreamReadException; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.oas.models.security.OAuthFlows; import io.swagger.v3.oas.models.security.SecurityScheme; +import tools.jackson.databind.ValueDeserializer; -import java.io.IOException; import java.util.Arrays; import java.util.Iterator; -import java.util.List; -public class SecuritySchemeDeserializer extends JsonDeserializer { +public class SecuritySchemeDeserializer extends ValueDeserializer { protected boolean openapi31; @Override public SecurityScheme deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException { + throws JacksonException { ObjectMapper mapper = null; if (openapi31) { mapper = Json31.mapper(); @@ -29,15 +28,15 @@ public SecurityScheme deserialize(JsonParser jp, DeserializationContext ctxt) } SecurityScheme result = null; - JsonNode node = jp.getCodec().readTree(jp); + JsonNode node = jp.objectReadContext().readTree(jp); JsonNode inNode = node.get("type"); if (inNode != null) { - String type = inNode.asText(); + String type = inNode.asString(); if (Arrays.stream(SecurityScheme.Type.values()).noneMatch(t -> t.toString().equals(type))) { // wrong type, throw exception - throw new JsonParseException(jp, String.format("SecurityScheme type %s not allowed", type)); + throw new StreamReadException(jp, "SecurityScheme type %s not allowed".formatted(type)); } result = new SecurityScheme() .description(getFieldText("description", node)); @@ -64,7 +63,7 @@ public SecurityScheme deserialize(JsonParser jp, DeserializationContext ctxt) result .type(SecurityScheme.Type.MUTUALTLS); } - final Iterator fieldNames = node.fieldNames(); + final Iterator fieldNames = node.propertyNames().iterator(); while(fieldNames.hasNext()) { final String fieldName = fieldNames.next(); if(fieldName.startsWith("x-")) { @@ -85,7 +84,7 @@ private SecurityScheme.In getIn(String value) { private String getFieldText(String fieldName, JsonNode node) { JsonNode inNode = node.get(fieldName); if (inNode != null) { - return inNode.asText(); + return inNode.asString(); } return null; } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SiblingAnnotationFilter.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SiblingAnnotationFilter.java index 4412c13193..8e3ec85996 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SiblingAnnotationFilter.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/SiblingAnnotationFilter.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.JavaType; import io.swagger.v3.oas.models.media.Schema; +import tools.jackson.databind.JavaType; import java.lang.annotation.Annotation; import java.util.ArrayList; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/StringUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/StringUtils.java new file mode 100644 index 0000000000..222f23c8ff --- /dev/null +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/StringUtils.java @@ -0,0 +1,75 @@ +package io.swagger.v3.core.util; + +/** + * Utility methods replacing previously used commons-lang3 StringUtils. + * Java 17 provides String.isBlank() / isEmpty() directly, so these + * methods only add null-safe wrapping. + */ +public final class StringUtils { + public static final String EMPTY = ""; + + private StringUtils() { + } + + /** + * @return {@code true} if the string is null or blank + */ + public static boolean isBlank(String str) { + return str == null || str.isBlank(); + } + + /** + * @return {@code true} if the string is not null and not blank + */ + public static boolean isNotBlank(String str) { + return !isBlank(str); + } + + /** + * @return {@code true} if the string is null or empty + */ + public static boolean isEmpty(String str) { + return str == null || str.isEmpty(); + } + + /** + * @return {@code true} if the string is not null and not empty + */ + public static boolean isNotEmpty(String str) { + return !isEmpty(str); + } + + /** + * @return the trimmed string, or null if the string is null or blank + */ + public static String trimToNull(String str) { + return str == null || str.isBlank() ? null : str.trim(); + } + + /** + * @return {@code true} if both strings are equal (null-safe) + */ + public static boolean equals(String a, String b) { + return a == null ? b == null : a.equals(b); + } + + /** + * @return the string with prefix prepended if not already present, null-safe + */ + public static String prependIfMissing(String str, String prefix) { + return str == null || str.startsWith(prefix) ? str : prefix + str; + } + + /** + * Capitalizes the first character of the given string. + * + * @param str the string to capitalize + * @return the capitalized string, null if null input, empty if empty input + */ + public static String capitalize(String str) { + if (str == null || str.isEmpty()) { + return str; + } + return Character.toUpperCase(str.charAt(0)) + str.substring(1); + } +} diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ValidationAnnotationsUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ValidationAnnotationsUtils.java index 1ae4fb83a9..db91fec85d 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ValidationAnnotationsUtils.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ValidationAnnotationsUtils.java @@ -3,8 +3,8 @@ import io.swagger.v3.oas.models.SpecVersion; import io.swagger.v3.oas.models.media.Schema; -import javax.validation.OverridesAttribute; -import javax.validation.constraints.*; +import jakarta.validation.OverridesAttribute; +import jakarta.validation.constraints.*; import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.math.BigDecimal; @@ -19,7 +19,7 @@ public class ValidationAnnotationsUtils { - private static final String JAVAX_PACKAGE_BASE = "javax.validation.constraints"; + private static final String JAVAX_PACKAGE_BASE = "jakarta.validation.constraints"; public static final String JAVAX_NOT_NULL = JAVAX_PACKAGE_BASE + ".NotNull"; public static final String JAVAX_NOT_EMPTY = JAVAX_PACKAGE_BASE + ".NotEmpty"; public static final String JAVAX_NOT_BLANK = JAVAX_PACKAGE_BASE + ".NotBlank"; diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java index cc59fdf6c2..8ff6b35f31 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java @@ -1,9 +1,13 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.databind.cfg.MapperBuilder; +import tools.jackson.dataformat.yaml.YAMLFactoryBuilder; + +import java.util.function.Consumer; public class Yaml { diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java index e60d322f61..e563773016 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java @@ -1,11 +1,11 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectWriter; import io.swagger.v3.oas.models.media.Schema; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.core.JacksonException; import java.util.Map; @@ -47,7 +47,7 @@ public static void prettyPrint(Object o) { public static Map jsonSchemaAsMap(String jsonSchema) { try { return mapper().readValue(jsonSchema, Map.class); - } catch (JsonProcessingException e) { + } catch (JacksonException e) { LOGGER.error("Exception converting jsonSchema to Map", e); return null; } @@ -56,7 +56,7 @@ public static Map jsonSchemaAsMap(String jsonSchema) { public static Map jsonSchemaAsMap(Schema schema) { try { return mapper().readValue(mapper().writeValueAsString(schema), Map.class); - } catch (JsonProcessingException e) { + } catch (JacksonException e) { LOGGER.error("Exception converting jsonSchema to Map", e); return null; } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/OsgiManifestTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/OsgiManifestTest.java new file mode 100644 index 0000000000..0abf64e85b --- /dev/null +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/OsgiManifestTest.java @@ -0,0 +1,131 @@ +package io.swagger.v3.core; + +import aQute.bnd.header.Parameters; +import aQute.bnd.osgi.Analyzer; +import aQute.bnd.osgi.Descriptors.PackageRef; +import org.testng.annotations.Test; + +import java.io.File; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.Set; +import java.util.TreeSet; + +import static org.testng.Assert.assertTrue; + +/** + * Hardens the OSGi bundle manifest generated by {@code biz.aQute.bnd:bnd-maven-plugin} for this module. + * + *

{@code bnd-process} runs in the {@code process-classes} phase, i.e. before the tests, so + * {@code target/classes/META-INF/MANIFEST.MF} holds the generated bundle manifest when this test runs. + * + *

Instead of hand-rolling a manifest parser, this test uses bnd's own libraries: + *

    + *
  • {@link Analyzer} recomputes, from the module's own bytecode, the set of packages it actually + * references ({@code getReferred()}) minus the packages it contains itself.
  • + *
  • {@link Parameters} robustly parses the {@code Import-Package} header, correctly handling commas + * inside quoted version ranges.
  • + *
+ * + *

Every externally-referenced package must be present in {@code Import-Package}. This guards against + * regressions such as issue #156, where a bnd instruction parsing bug collapsed the header to a single + * clause and made the bundle unusable in OSGi because referenced packages were never wired. + */ +public class OsgiManifestTest { + + private static final String MANIFEST_REL = "target/classes/META-INF/MANIFEST.MF"; + private static final String CLASSES_REL = "target/classes"; + + @Test + public void importPackageDeclaresEveryExternallyReferencedPackage() throws Exception { + File basedir = resolveBasedir(); + Analyzer analyzer = new Analyzer(); + try { + analyzer.setJar(new File(basedir, CLASSES_REL)); + analyzer.analyze(); + + Set contained = packageNames(analyzer.getContained()); + Set referred = packageNames(analyzer.getReferred()); + + Set imported = parseImportPackages(new File(basedir, MANIFEST_REL)); + + // Packages the module's bytecode uses but does not itself contain, excluding the JDK itself. + Set required = new TreeSet<>(); + for (String pkg : referred) { + if (contained.contains(pkg) || isJdkPackage(pkg)) { + continue; + } + required.add(pkg); + } + + Set missing = new TreeSet<>(required); + missing.removeAll(imported); + assertTrue(missing.isEmpty(), + "Import-Package misses packages referenced by the module's bytecode: " + missing); + + if (required.isEmpty()) { + throw new IllegalStateException("Test could not determine referenced packages; " + + "bnd Analyzer returned none for " + new File(basedir, CLASSES_REL)); + } + } finally { + analyzer.close(); + } + } + + /** Resolves the module's {@code basedir}, honoring the {@code basedir} system property set by surefire. */ + private static File resolveBasedir() { + String basedir = System.getProperty("basedir"); + File dir = basedir != null ? new File(basedir) : new File("").getAbsoluteFile(); + if (!new File(dir, MANIFEST_REL).isFile()) { + throw new IllegalStateException( + "Bundle manifest not found at " + new File(dir, MANIFEST_REL).getAbsolutePath() + + ". bnd-process (process-classes phase) must run before the tests."); + } + return dir; + } + + private static Set packageNames(aQute.bnd.osgi.Packages packages) { + Set names = new TreeSet<>(); + for (PackageRef ref : packages.keySet()) { + names.add(ref.getFQN()); + } + return names; + } + + private static Set parseImportPackages(File manifest) { + String header = unfold(read(manifest)) + .lines() + .filter(l -> l.startsWith("Import-Package:")) + .findFirst() + .orElseThrow(() -> new IllegalStateException(manifest + " has no Import-Package header")); + String value = header.substring("Import-Package:".length()).trim(); + return new TreeSet<>(new Parameters(value).keySet()); + } + + private static boolean isJdkPackage(String pkg) { + return pkg.equals("java") || pkg.startsWith("java.") || pkg.startsWith("javax.") || pkg.startsWith("jdk."); + } + + /** Joins 72-column continuation lines (a physical line starting with a space continues the previous header). */ + private static String unfold(String raw) { + StringBuilder sb = new StringBuilder(); + for (String line : raw.split("\r?\n")) { + if (line.startsWith(" ")) { + sb.append(line.substring(1)); + } else { + sb.append('\n').append(line); + } + } + return sb.substring(1); + } + + private static String read(File file) { + try { + return new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } +} \ No newline at end of file diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ArrayOfSubclassTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ArrayOfSubclassTest.java index 5bac5efee4..18b2d68530 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ArrayOfSubclassTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ArrayOfSubclassTest.java @@ -12,8 +12,13 @@ import io.swagger.v3.core.util.ResourceUtils; import org.testng.annotations.Test; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.JsonNode; +import java.nio.file.Files; +import java.nio.file.Path; + +import tools.jackson.core.StreamReadFeature; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.json.JsonMapper; public class ArrayOfSubclassTest { @@ -24,7 +29,9 @@ public void extractSubclassArray_oas31() throws Exception { assertNotNull(schema); String expectedJson = ResourceUtils.loadClassResource(getClass(), "converting/ArrayOfSubclassTest_expected31.json"); String actualJson = Json31.pretty(schema); - ObjectMapper mapper = new ObjectMapper(); + ObjectMapper mapper = JsonMapper.builder() + .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION) + .build(); JsonNode expectedNode = mapper.readTree(expectedJson); JsonNode actualNode = mapper.readTree(actualJson); assertEquals(actualNode, expectedNode); @@ -36,7 +43,9 @@ public void extractSubclassArray_oas30() throws Exception { assertNotNull(schema); String expectedJson = ResourceUtils.loadClassResource(getClass(), "converting/ArrayOfSubclassTest_expected30.json"); String actualJson = Json.pretty(schema); - ObjectMapper mapper = new ObjectMapper(); + ObjectMapper mapper = JsonMapper.builder() + .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION) + .build(); JsonNode expectedNode = mapper.readTree(expectedJson); JsonNode actualNode = mapper.readTree(actualJson); assertEquals(actualNode, expectedNode); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ComplexPolymorphicModelTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ComplexPolymorphicModelTest.java index d4f6f3d7d4..dea0976e64 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ComplexPolymorphicModelTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ComplexPolymorphicModelTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converting; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.converter.ModelConverters; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/EnumPropertyTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/EnumPropertyTest.java index 915710650a..19f129e51d 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/EnumPropertyTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/EnumPropertyTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converting; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.converter.ModelConverters; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/IsSetTypeTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/IsSetTypeTest.java new file mode 100644 index 0000000000..e90c52b9df --- /dev/null +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/IsSetTypeTest.java @@ -0,0 +1,69 @@ +package io.swagger.v3.core.converting; + +import io.swagger.v3.core.jackson.AbstractModelConverter; +import io.swagger.v3.core.util.Json; +import org.testng.annotations.Test; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertTrue; + +public class IsSetTypeTest { + + private static class TestModelConverter extends AbstractModelConverter { + protected TestModelConverter() { + super(Json.mapper()); + } + + public boolean isSetType(Class cls) { + return _isSetType(cls); + } + } + + private final TestModelConverter converter = new TestModelConverter(); + + @Test + public void testIsSetTypeWithNull() { + assertFalse(converter.isSetType(null)); + } + + @Test + public void testIsSetTypeWithSetInterface() { + assertTrue(converter.isSetType(Set.class)); + } + + @Test + public void testIsSetTypeWithHashSet() { + assertTrue(converter.isSetType(HashSet.class)); + } + + @Test + public void testIsSetTypeWithLinkedHashSet() { + assertTrue(converter.isSetType(LinkedHashSet.class)); + } + + @Test + public void testIsSetTypeWithTreeSet() { + assertTrue(converter.isSetType(TreeSet.class)); + } + + @Test + public void testIsSetTypeWithNonSetCollection() { + assertFalse(converter.isSetType(List.class)); + assertFalse(converter.isSetType(ArrayList.class)); + } + + @Test + public void testIsSetTypeWithNonCollection() { + assertFalse(converter.isSetType(String.class)); + assertFalse(converter.isSetType(Integer.class)); + assertFalse(converter.isSetType(Map.class)); + } +} diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5055Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5055Test.java index ad2f0101b9..d14ab1f559 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5055Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5055Test.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.converting; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.converter.ResolvedSchema; import io.swagger.v3.core.util.Json31; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5061Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5061Test.java index d77781fdd8..fcfbabbb96 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5061Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5061Test.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.converting; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.converter.ResolvedSchema; import io.swagger.v3.core.util.Json; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5168Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5168Test.java index 31e1b5b668..d4bcd5c99a 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5168Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/Issue5168Test.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.converting; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.converter.ResolvedSchema; import io.swagger.v3.core.util.Json31; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelConverterTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelConverterTest.java index 13a0fa1220..1aea148be5 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelConverterTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelConverterTest.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.converting; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonSerialize; import com.google.common.collect.ImmutableSet; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.matchers.SerializationMatchers; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelPropertyTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelPropertyTest.java index 1d449a7505..5c1fb325f8 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelPropertyTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/ModelPropertyTest.java @@ -15,10 +15,10 @@ import io.swagger.v3.oas.models.media.StringSchema; import org.testng.annotations.Test; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import java.util.Date; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/NumericFormatTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/NumericFormatTest.java index c93dc2a7ae..a85c9466ac 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/NumericFormatTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/NumericFormatTest.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.models.media.Schema; import org.testng.annotations.Test; -import javax.validation.constraints.DecimalMax; -import javax.validation.constraints.DecimalMin; -import javax.validation.constraints.Min; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Min; import java.math.BigDecimal; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PojoTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PojoTest.java index 901439c401..9d1903db1b 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PojoTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PojoTest.java @@ -8,7 +8,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import org.testng.annotations.Test; -import javax.validation.constraints.Pattern; +import jakarta.validation.constraints.Pattern; import java.io.IOException; import java.lang.reflect.Type; import java.util.Date; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PolymorphicSubtypePropertyBleedTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PolymorphicSubtypePropertyBleedTest.java index 614d5a56d9..6cdb1b6dbe 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PolymorphicSubtypePropertyBleedTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/PolymorphicSubtypePropertyBleedTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converting; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; @@ -8,7 +8,7 @@ import io.swagger.v3.oas.models.media.ComposedSchema; import org.testng.annotations.Test; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.lang.reflect.Field; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/SwaggerSerializerTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/SwaggerSerializerTest.java index 81095f4e6d..921627b6b8 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/SwaggerSerializerTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/SwaggerSerializerTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converting; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.matchers.SerializationMatchers; import io.swagger.v3.core.oas.models.Person; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomAnnotationConverter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomAnnotationConverter.java index 4599a18647..4a7485c538 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomAnnotationConverter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomAnnotationConverter.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converting.override; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomConverterTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomConverterTest.java index 5ac77acefc..d63aa8ee2b 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomConverterTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomConverterTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converting.override; -import com.fasterxml.jackson.databind.JavaType; +import tools.jackson.databind.JavaType; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomResolverTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomResolverTest.java index 0501a8b77e..d0a5a0b760 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomResolverTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/CustomResolverTest.java @@ -1,13 +1,13 @@ package io.swagger.v3.core.converting.override; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.jackson.ModelResolver; import io.swagger.v3.core.jackson.TypeNameResolver; import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.testng.annotations.Test; import java.util.*; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyConverter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyConverter.java index d309e06dfa..6227ca539e 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyConverter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyConverter.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.converting.override; -import com.fasterxml.jackson.databind.JavaType; +import tools.jackson.databind.JavaType; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyExtendedConverter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyExtendedConverter.java index a4eb76c969..b93779ed16 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyExtendedConverter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SamplePropertyExtendedConverter.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.converting.override; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SnakeCaseConverterTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SnakeCaseConverterTest.java index 7ebc2cdfe3..2052617bd8 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SnakeCaseConverterTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/converting/override/SnakeCaseConverterTest.java @@ -8,11 +8,11 @@ import io.swagger.v3.core.matchers.SerializationMatchers; import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; +import io.swagger.v3.core.util.StringUtils; +import io.swagger.v3.core.util.Pair; import org.testng.annotations.Test; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonDeserializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonDeserializationTest.java index b9f5729b22..8257848438 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonDeserializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/JsonDeserializationTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.deserialization; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.matchers.SerializationMatchers; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.ResourceUtils; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/ParameterDeSerializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/ParameterDeSerializationTest.java index 781692c7a8..095370d75c 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/ParameterDeSerializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/deserialization/ParameterDeSerializationTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.deserialization; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.matchers.SerializationMatchers; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Yaml; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java index 7d161876d4..34a7869e49 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java @@ -26,7 +26,7 @@ import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.parameters.Parameter; import io.swagger.v3.oas.models.tags.Tag; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.Test; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/InternalModelPropertiesRemoverFilter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/InternalModelPropertiesRemoverFilter.java index d779271d6a..596c0b681b 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/InternalModelPropertiesRemoverFilter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/InternalModelPropertiesRemoverFilter.java @@ -2,7 +2,7 @@ import io.swagger.v3.core.filter.AbstractSpecFilter; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoCategoryRefSchemaFilter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoCategoryRefSchemaFilter.java index 4c7bf03c8e..3a6991f667 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoCategoryRefSchemaFilter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoCategoryRefSchemaFilter.java @@ -2,7 +2,7 @@ import io.swagger.v3.core.filter.AbstractSpecFilter; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPathItemFilter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPathItemFilter.java index 231a35d43d..74e17c6645 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPathItemFilter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPathItemFilter.java @@ -3,7 +3,7 @@ import io.swagger.v3.core.filter.AbstractSpecFilter; import io.swagger.v3.core.model.ApiDescription; import io.swagger.v3.oas.models.PathItem; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPetRefSchemaFilter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPetRefSchemaFilter.java index 31f014d48b..f57eeb7495 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPetRefSchemaFilter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoPetRefSchemaFilter.java @@ -2,7 +2,7 @@ import io.swagger.v3.core.filter.AbstractSpecFilter; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoTagRefSchemaPropertyFilter.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoTagRefSchemaPropertyFilter.java index 31c29ba069..252099a3aa 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoTagRefSchemaPropertyFilter.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/resources/NoTagRefSchemaPropertyFilter.java @@ -2,7 +2,7 @@ import io.swagger.v3.core.filter.AbstractSpecFilter; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4339Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4339Test.java index beda2391d3..752082d1c8 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4339Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4339Test.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.issues; -import com.fasterxml.jackson.databind.node.IntNode; -import com.fasterxml.jackson.databind.node.NullNode; +import tools.jackson.databind.node.IntNode; +import tools.jackson.databind.node.NullNode; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4838Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4838Test.java index a3c85a46b5..7d67bcbc2f 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4838Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue4838Test.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.issues; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5001Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5001Test.java index 4ee956a96c..a28012cfd9 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5001Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5001Test.java @@ -11,7 +11,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import org.testng.annotations.Test; -import javax.annotation.Nullable; +import jakarta.annotation.Nullable; import java.util.List; import java.util.Set; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5077Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5077Test.java index 80c4f51f95..2faecd22c3 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5077Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5077Test.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.issues; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.converter.ResolvedSchema; import io.swagger.v3.core.util.Json; @@ -11,7 +11,7 @@ import io.swagger.v3.oas.models.media.Schema; import org.testng.annotations.Test; -import javax.annotation.Nullable; +import jakarta.annotation.Nullable; import java.io.IOException; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5115Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5115Test.java index 34dfc88b91..01f72d1bb0 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5115Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/issues/Issue5115Test.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.issues; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.converter.ResolvedSchema; import io.swagger.v3.core.util.Json; @@ -10,7 +10,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import org.testng.annotations.Test; -import javax.annotation.Nullable; +import jakarta.annotation.Nullable; import java.io.IOException; import java.util.Collections; import java.util.LinkedHashSet; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/CallerAccessorNamingTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/CallerAccessorNamingTest.java new file mode 100644 index 0000000000..d314d17c1a --- /dev/null +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/CallerAccessorNamingTest.java @@ -0,0 +1,99 @@ +package io.swagger.v3.core.jackson; + +import tools.jackson.databind.cfg.MapperConfig; +import tools.jackson.databind.introspect.AccessorNamingStrategy; +import tools.jackson.databind.introspect.AnnotatedClass; +import tools.jackson.databind.introspect.AnnotatedField; +import tools.jackson.databind.introspect.AnnotatedMethod; +import tools.jackson.databind.introspect.DefaultAccessorNamingStrategy; +import io.swagger.v3.core.converter.AnnotatedType; +import io.swagger.v3.core.converter.ModelConverterContextImpl; +import io.swagger.v3.core.util.ObjectMapperFactory; +import io.swagger.v3.oas.models.media.Schema; +import org.testng.annotations.Test; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertTrue; + +/** + * {@code AbstractModelConverter} used to overwrite the {@code AccessorNamingStrategy.Provider} of + * every mapper handed to it, so a caller could not influence how {@link ModelResolver} derives + * property names. A strategy the caller configured is honoured by their mapper at serialization + * time, so discarding it here made the schema's property names diverge from the JSON the mapper + * actually produces. + */ +public class CallerAccessorNamingTest { + + public static class BooleanStatusBean { + + public boolean isActive() { + return true; + } + + public String getName() { + return null; + } + } + + /** + * A caller-supplied strategy that keeps the {@code is} prefix instead of stripping it, as a + * representative deviation from the default bean-convention naming. + */ + public static class KeepIsPrefixProvider extends DefaultAccessorNamingStrategy.Provider { + + @Override + public AccessorNamingStrategy forPOJO(MapperConfig config, AnnotatedClass targetClass) { + final AccessorNamingStrategy delegate = super.forPOJO(config, targetClass); + return new AccessorNamingStrategy() { + @Override + public String findNameForIsGetter(AnnotatedMethod method, String name) { + return delegate.findNameForIsGetter(method, name) == null ? null : name; + } + + @Override + public String findNameForRegularGetter(AnnotatedMethod method, String name) { + return delegate.findNameForRegularGetter(method, name); + } + + @Override + public String findNameForMutator(AnnotatedMethod method, String name) { + return delegate.findNameForMutator(method, name); + } + + @Override + public String modifyFieldName(AnnotatedField field, String name) { + return delegate.modifyFieldName(field, name); + } + }; + } + } + + @Test + public void testCallerSuppliedAccessorNamingIsHonored() { + ModelResolver modelResolver = new ModelResolver( + ObjectMapperFactory.createJson().rebuild().accessorNaming(new KeepIsPrefixProvider()).build()); + ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); + + Schema schema = modelResolver.resolve(new AnnotatedType(BooleanStatusBean.class), context, null); + + assertTrue(schema.getProperties().containsKey("isActive"), + "expected isActive but got " + schema.getProperties().keySet()); + assertTrue(schema.getProperties().containsKey("name"), + "expected name but got " + schema.getProperties().keySet()); + assertEquals(schema.getProperties().size(), 2, "unexpected properties: " + schema.getProperties().keySet()); + } + + @Test + public void testDefaultAccessorNamingStillStripsTheIsPrefix() { + ModelResolver modelResolver = new ModelResolver(ObjectMapperFactory.createJson()); + ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); + + Schema schema = modelResolver.resolve(new AnnotatedType(BooleanStatusBean.class), context, null); + + assertTrue(schema.getProperties().containsKey("active"), + "expected active but got " + schema.getProperties().keySet()); + assertTrue(schema.getProperties().containsKey("name"), + "expected name but got " + schema.getProperties().keySet()); + assertEquals(schema.getProperties().size(), 2, "unexpected properties: " + schema.getProperties().keySet()); + } +} diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/RecordPropertyNamingStrategyTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/RecordPropertyNamingStrategyTest.java similarity index 89% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/RecordPropertyNamingStrategyTest.java rename to modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/RecordPropertyNamingStrategyTest.java index 10a7680fb2..48827922dd 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/RecordPropertyNamingStrategyTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/RecordPropertyNamingStrategyTest.java @@ -1,15 +1,14 @@ -package io.swagger.v3.java17.resolving; +package io.swagger.v3.core.jackson; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; -import io.swagger.v3.core.jackson.ModelResolver; -import io.swagger.v3.core.util.Json; +import io.swagger.v3.core.util.ObjectMapperFactory; import io.swagger.v3.oas.models.media.Schema; import org.testng.annotations.Test; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNull; @@ -98,7 +97,7 @@ public String translate(String propertyName) { @Test public void testSnakeCaseNamingStrategyAppliedToRecordComponents() { ModelResolver modelResolver = new ModelResolver( - Json.mapper().copy().setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)); + ObjectMapperFactory.createJson().rebuild().propertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE).build()); ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); Schema schema = modelResolver.resolve(new AnnotatedType(PidLookupResponse.class), context, null); @@ -118,13 +117,13 @@ public void testSnakeCaseNamingStrategyAppliedToRecordComponents() { @Test public void testClassLevelJsonNamingAppliedToRecordComponents() { - ModelResolver modelResolver = new ModelResolver(Json.mapper().copy()); + ModelResolver modelResolver = new ModelResolver(ObjectMapperFactory.createJson()); ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); Schema schema = modelResolver.resolve(new AnnotatedType(JsonNamingPidLookupResponse.class), context, null); assertNull(modelResolver.objectMapper() - .getSerializationConfig() + .serializationConfig() .getPropertyNamingStrategy()); assertTrue(schema.getProperties().containsKey("family_name")); assertTrue(schema.getProperties().containsKey("expiry_date")); @@ -141,14 +140,13 @@ public void testClassLevelJsonNamingAppliedToRecordComponents() { @Test public void testMixInJsonNamingAppliedToRecordComponents() { - ModelResolver modelResolver = new ModelResolver(Json.mapper().copy() - .addMixIn(MixInPidLookupResponse.class, SnakeCaseMixIn.class)); + ModelResolver modelResolver = new ModelResolver(ObjectMapperFactory.createJson().rebuild().addMixIn(MixInPidLookupResponse.class, SnakeCaseMixIn.class).build()); ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); Schema schema = modelResolver.resolve(new AnnotatedType(MixInPidLookupResponse.class), context, null); assertNull(modelResolver.objectMapper() - .getSerializationConfig() + .serializationConfig() .getPropertyNamingStrategy()); assertTrue(schema.getProperties().containsKey("family_name")); assertTrue(schema.getProperties().containsKey("expiry_date")); @@ -166,7 +164,7 @@ public void testMixInJsonNamingAppliedToRecordComponents() { @Test public void testBooleanIsRecordComponentWithSnakeCaseNamingStrategy() { ModelResolver modelResolver = new ModelResolver( - Json.mapper().copy().setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)); + ObjectMapperFactory.createJson().rebuild().propertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE).build()); ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); Schema schema = modelResolver.resolve(new AnnotatedType(BooleanStatusResponse.class), context, null); @@ -178,13 +176,13 @@ public void testBooleanIsRecordComponentWithSnakeCaseNamingStrategy() { @Test public void testLegacyIsPersistentNameWithNoNamingStrategy() { - ModelResolver modelResolver = new ModelResolver(Json.mapper().copy()); + ModelResolver modelResolver = new ModelResolver(ObjectMapperFactory.createJson()); ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); Schema schema = modelResolver.resolve(new AnnotatedType(LegacyIsPersistentResponse.class), context, null); assertNull(modelResolver.objectMapper() - .getSerializationConfig() + .serializationConfig() .getPropertyNamingStrategy()); assertTrue(schema.getProperties().containsKey("is_persistent"), "expected is_persistent but got " + schema.getProperties().keySet()); @@ -195,13 +193,13 @@ public void testLegacyIsPersistentNameWithNoNamingStrategy() { @Test public void testXmlRenamedIsPrefixFieldKeepsOriginalNameWithNoNamingStrategy() { - ModelResolver modelResolver = new ModelResolver(Json.mapper().copy()); + ModelResolver modelResolver = new ModelResolver(ObjectMapperFactory.createJson()); ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); Schema schema = modelResolver.resolve(new AnnotatedType(XmlRenamedIsPrefixResponse.class), context, null); assertNull(modelResolver.objectMapper() - .getSerializationConfig() + .serializationConfig() .getPropertyNamingStrategy()); assertTrue(schema.getProperties().containsKey("isotonicDrinkOnlyXmlElement"), "expected isotonicDrinkOnlyXmlElement but got " + schema.getProperties().keySet()); @@ -211,7 +209,7 @@ public void testXmlRenamedIsPrefixFieldKeepsOriginalNameWithNoNamingStrategy() { @Test public void testCustomNamingStrategyAppliedToGetAndIsPrefixedRecordComponents() { ModelResolver modelResolver = new ModelResolver( - Json.mapper().copy().setPropertyNamingStrategy(new CustomPrefixStrategy())); + ObjectMapperFactory.createJson().rebuild().propertyNamingStrategy(new CustomPrefixStrategy()).build()); ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); Schema schema = modelResolver.resolve(new AnnotatedType(PidLookupResponse.class), context, null); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/SwaggerAnnotationIntrospectorTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/SwaggerAnnotationIntrospectorTest.java new file mode 100644 index 0000000000..3f353ef2ce --- /dev/null +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/jackson/SwaggerAnnotationIntrospectorTest.java @@ -0,0 +1,82 @@ +package io.swagger.v3.core.jackson; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import org.testng.Assert; +import tools.jackson.databind.ObjectMapper; +import io.swagger.v3.core.converter.AnnotatedType; +import io.swagger.v3.core.converter.ModelConverterContextImpl; +import io.swagger.v3.oas.models.media.Schema; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class SwaggerAnnotationIntrospectorTest { + + private ModelConverterContextImpl context; + + @BeforeMethod + public void setup() { + ModelResolver modelResolver = new ModelResolver(new ObjectMapper()); + context = new ModelConverterContextImpl(modelResolver); + } + + @AfterMethod + public void tearDown() { + context = null; + } + + @Test + public void testFindSubtypesWithJsonSubTypesOnly() { + // This test verifies that @JsonSubTypes annotation is properly handled + // when no @Schema(subTypes) is present (the Jackson 3 regression case) + final Schema type = context.resolve(new AnnotatedType(Animal.class)); + + Assert.assertNotNull(type); + + // With @JsonSubTypes support, findSubtypes should return subtypes + // and they should be available in the resolved schema's oneOf or discriminator + Assert.assertNotNull(context.getDefinedModels().get("Dog")); + Assert.assertNotNull(context.getDefinedModels().get("Cat")); + } + + @Test + public void testFindSubtypesWithSchemaSubTypesOnly() { + final Schema type = context.resolve(new AnnotatedType(Vehicle.class)); + + Assert.assertNotNull(type); + + // Verify @Schema(subTypes) is handled + Assert.assertNotNull(context.getDefinedModels().get("Car")); + Assert.assertNotNull(context.getDefinedModels().get("Truck")); + } + + @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") + @JsonSubTypes({ + @JsonSubTypes.Type(name = "Dog", value = Dog.class), + @JsonSubTypes.Type(name = "Cat", value = Cat.class) + }) + static class Animal { + public String type; + } + + static class Dog extends Animal { + public String breed; + } + + static class Cat extends Animal { + public String color; + } + + @io.swagger.v3.oas.annotations.media.Schema( + subTypes = {Car.class, Truck.class} + ) + static class Vehicle { + } + + static class Car extends Vehicle { + } + + static class Truck extends Vehicle { + } +} diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/matchers/SerializationMatchers.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/matchers/SerializationMatchers.java index 9588434c96..4f5f3b2968 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/matchers/SerializationMatchers.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/matchers/SerializationMatchers.java @@ -1,9 +1,10 @@ package io.swagger.v3.core.matchers; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.NumericNode; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.NumericNode; +import tools.jackson.databind.node.ObjectNode; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Json31; import io.swagger.v3.core.util.Yaml; @@ -40,7 +41,7 @@ private static void apply(Object objectToSerialize, String str, ObjectMapper map ObjectNode rhs = null; try { rhs = mapper.readValue(str, ObjectNode.class); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Failed to read value", e); } if (!lhs.equals(new ObjectNodeComparator(), rhs)) { @@ -53,7 +54,7 @@ private static void apply31(Object objectToSerialize, String str, ObjectMapper m ObjectNode rhs = null; try { rhs = mapper.readValue(str, ObjectNode.class); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Failed to read value", e); } if (!lhs.equals(new ObjectNodeComparator(), rhs)) { @@ -72,7 +73,7 @@ public int compare(JsonNode o1, JsonNode o2) { double d2 = ((NumericNode) o2).asDouble(); return Double.compare(d1, d2); } - int comp = o1.asText().compareTo(o2.asText()); + int comp = o1.asString().compareTo(o2.asString()); if (comp == 0) { return Integer.compare(o1.hashCode(), o2.hashCode()); } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Address.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Address.java index 00ad00ac9b..301acfbd35 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Address.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Address.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.oas.models; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class Address { private Integer streetNumber; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ApiFirstRequiredFieldModel.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ApiFirstRequiredFieldModel.java index 5602266564..6dedda67d0 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ApiFirstRequiredFieldModel.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ApiFirstRequiredFieldModel.java @@ -2,10 +2,10 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java index 35a59be45b..4abdff6a68 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/BeanValidationsModel.java @@ -1,18 +1,18 @@ package io.swagger.v3.core.oas.models; -import javax.annotation.Nonnull; -import javax.validation.constraints.DecimalMax; -import javax.validation.constraints.DecimalMin; -import javax.validation.constraints.Email; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.Negative; -import javax.validation.constraints.NegativeOrZero; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Positive; -import javax.validation.constraints.PositiveOrZero; -import javax.validation.constraints.Size; +import jakarta.annotation.Nonnull; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.Negative; +import jakarta.validation.constraints.NegativeOrZero; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Positive; +import jakarta.validation.constraints.PositiveOrZero; +import jakarta.validation.constraints.Size; import java.math.BigDecimal; import java.util.List; import java.util.Optional; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ClientOptInput.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ClientOptInput.java index 15c3f95c3d..6d4d401264 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ClientOptInput.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ClientOptInput.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.oas.models; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.models.OpenAPI; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Department.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Department.java index a42bf409b6..428bb82539 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Department.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Department.java @@ -10,10 +10,10 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "department") @XmlAccessorType(XmlAccessType.PUBLIC_MEMBER) diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Employee.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Employee.java index 268588e8b7..3b2d40a548 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Employee.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Employee.java @@ -10,10 +10,10 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.Set; @XmlRootElement(name = "employee") diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Issue534.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Issue534.java index c107477481..e64ce908be 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Issue534.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Issue534.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; import java.util.List; public class Issue534 { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Link.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Link.java index dd17f1fb4f..676e4eeb8e 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Link.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/Link.java @@ -10,10 +10,10 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "link") @XmlAccessorType(XmlAccessType.PUBLIC_MEMBER) diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJAXBAnnotations.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJAXBAnnotations.java index 9db0ff5111..81ca07cb05 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJAXBAnnotations.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJAXBAnnotations.java @@ -2,10 +2,10 @@ import com.fasterxml.jackson.annotation.JsonIgnore; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.List; @XmlRootElement(name = "rootName") diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJaxBDefaultValues.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJaxBDefaultValues.java index 0fa8c59a6f..cbd76ba42a 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJaxBDefaultValues.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithJaxBDefaultValues.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.oas.models; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement public class ModelWithJaxBDefaultValues { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithTuple2.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithTuple2.java index e86130819d..c3a61cb321 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithTuple2.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/ModelWithTuple2.java @@ -1,17 +1,17 @@ package io.swagger.v3.core.oas.models; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.BeanDescription; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; import io.swagger.v3.core.jackson.AbstractModelConverter; import io.swagger.v3.oas.models.media.MapSchema; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.text.WordUtils; -import org.apache.commons.lang3.tuple.Pair; +import io.swagger.v3.core.util.StringUtils; +import io.swagger.v3.core.util.Pair; +import tools.jackson.databind.cfg.MapperBuilder; import java.util.Iterator; import java.util.Set; @@ -44,7 +44,7 @@ public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterato final JavaType javaType = _mapper.constructType(type.getType()); if (Pair.class.isAssignableFrom(javaType.getRawClass())) { final JavaType left = javaType.containedType(0); - final String name = "MapOf" + WordUtils.capitalize(_typeName(left)); + final String name = "MapOf" + StringUtils.capitalize(_typeName(left)); return new MapSchema() .name(name) @@ -72,7 +72,7 @@ public Schema resolve(AnnotatedType type, ModelConverterContext context, Schema schema = context.resolve(new AnnotatedType().type(left).schemaProperty(type.isSchemaProperty())); String pName = null; if (left != null) { - BeanDescription valueTypeBeanDesc = _mapper.getSerializationConfig().introspect(left); + BeanDescription valueTypeBeanDesc = _mapper._serializationContext().introspectBeanDescription(left); pName = _typeName(left, valueTypeBeanDesc); } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredFields.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredFields.java index 8ef0004275..98fb5dbfac 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredFields.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredFields.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; import java.util.List; import java.util.Optional; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredRefFieldModel.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredRefFieldModel.java index 3228e5b6d8..5a818f6a08 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredRefFieldModel.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/RequiredRefFieldModel.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement public class RequiredRefFieldModel { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestEnum.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestEnum.java index 508e12a5b9..66f382dbbf 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestEnum.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestEnum.java @@ -1,8 +1,8 @@ package io.swagger.v3.core.oas.models; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnumValue; +import jakarta.xml.bind.annotation.XmlType; @XmlType @XmlEnum(String.class) diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestSecondEnum.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestSecondEnum.java index 109776b2d0..790178ee15 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestSecondEnum.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/TestSecondEnum.java @@ -1,8 +1,8 @@ package io.swagger.v3.core.oas.models; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnumValue; +import jakarta.xml.bind.annotation.XmlType; @XmlType @XmlEnum(String.class) diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/XmlFirstRequiredFieldModel.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/XmlFirstRequiredFieldModel.java index 1115f20f38..ad01910630 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/XmlFirstRequiredFieldModel.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/XmlFirstRequiredFieldModel.java @@ -2,10 +2,10 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/NestedModelWithJAXBAnnotations.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/NestedModelWithJAXBAnnotations.java index a4a9354e43..05cc404276 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/NestedModelWithJAXBAnnotations.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/NestedModelWithJAXBAnnotations.java @@ -2,10 +2,10 @@ import com.fasterxml.jackson.annotation.JsonIgnore; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.List; @XmlRootElement(name = "RootName") diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/SubModelWithJAXBAnnotations.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/SubModelWithJAXBAnnotations.java index 6e855fa252..01360807c4 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/SubModelWithJAXBAnnotations.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/SubModelWithJAXBAnnotations.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.oas.models.xmltest; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "SubType", propOrder = { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/package-info.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/package-info.java index fc4d4a767a..c969ddb33f 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/package-info.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/oas/models/xmltest/package-info.java @@ -1,5 +1,5 @@ -@javax.xml.bind.annotation.XmlSchema( +@jakarta.xml.bind.annotation.XmlSchema( namespace = "https://www.openapis.org/test/nested", - elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED + elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED ) package io.swagger.v3.core.oas.models.xmltest; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedConstraintMetaAnnotationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedConstraintMetaAnnotationTest.java index 56ef1152bf..4a28c742a5 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedConstraintMetaAnnotationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedConstraintMetaAnnotationTest.java @@ -5,10 +5,14 @@ import io.swagger.v3.oas.models.media.Schema; import org.testng.annotations.Test; -import javax.validation.Constraint; -import javax.validation.OverridesAttribute; -import javax.validation.Payload; -import javax.validation.constraints.*; +import jakarta.validation.Constraint; +import jakarta.validation.OverridesAttribute; +import jakarta.validation.Payload; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedSchemaTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedSchemaTest.java index c9bf8d55d8..0f0b741e3c 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedSchemaTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/ComposedSchemaTest.java @@ -1,6 +1,8 @@ package io.swagger.v3.core.resolving; +import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverters; +import io.swagger.v3.core.jackson.ModelResolver; import io.swagger.v3.core.resolving.resources.TestObject2616; import io.swagger.v3.core.resolving.resources.TestObjectTicket2620; import io.swagger.v3.core.resolving.resources.TestObjectTicket2620Subtypes; @@ -11,8 +13,12 @@ import io.swagger.v3.oas.models.media.ComposedSchema; import io.swagger.v3.oas.models.media.Schema; import org.testng.annotations.Test; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.MapperBuilder; +import java.util.List; import java.util.Map; +import java.util.function.Consumer; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; @@ -68,7 +74,16 @@ public void readBilateralComposedSchema_ticket2620() { @Test(description = "read composed schem refs #2900") public void readComposedSchema_ticket2900() { - Json.mapper().addMixIn(TestObjectTicket2900.GsonJsonPrimitive.class, TestObjectTicket2900.GsonJsonPrimitiveMixIn.class); + List converters = ModelConverters.getInstance().getConverters(); + for (ModelConverter converter : converters) { + ModelConverters.getInstance().removeConverter(converter); + } + ObjectMapper mapper = Json.mapper() + .rebuild() + .addMixIn(TestObjectTicket2900.GsonJsonPrimitive.class, TestObjectTicket2900.GsonJsonPrimitiveMixIn.class) + .build(); + ModelConverters.getInstance().addConverter(new ModelResolver(mapper)); + Map schemas = ModelConverters.getInstance().readAll(TestObjectTicket2900.class); Schema model = schemas.get("SomeDTO"); assertNotNull(model); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/InheritedBeanTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/InheritedBeanTest.java index 5a276f5f4f..ff4fe61468 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/InheritedBeanTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/InheritedBeanTest.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonSubTypesAndSchemaOneOfTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonSubTypesAndSchemaOneOfTest.java index 6ac7e69d68..40b3756bed 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonSubTypesAndSchemaOneOfTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonSubTypesAndSchemaOneOfTest.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; @@ -203,4 +203,68 @@ private void assertSubPropertiesValid(Map subProperties, final S } } + @Test + public void interfaceWithJsonSubTypesOnlyIsConvertedToOneOfComposedSchema() { + final Schema interfaceModel = context.resolve(new AnnotatedType(PolymorphicInterface.class)); + assertNotNull(interfaceModel); + + // The parent interface should be converted to oneOf + assertTrue(interfaceModel instanceof ComposedSchema); + ComposedSchema composedSchema = (ComposedSchema) interfaceModel; + assertNotNull(composedSchema.getOneOf()); + assertEquals(composedSchema.getOneOf().size(), 2); + + // Verify oneOf contains $ref to subtypes + assertEquals(composedSchema.getOneOf().get(0).get$ref(), "#/components/schemas/PolymorphicSubtype1"); + assertEquals(composedSchema.getOneOf().get(1).get$ref(), "#/components/schemas/PolymorphicSubtype2"); + + // Verify subtypes are properly defined + final Schema subModel1 = context.getDefinedModels().get("PolymorphicSubtype1"); + assertNotNull(subModel1); + assertTrue(subModel1 instanceof ComposedSchema); + ComposedSchema cm1 = (ComposedSchema) subModel1; + assertEquals(cm1.getAllOf().get(0).get$ref(), "#/components/schemas/PolymorphicInterface"); + + final Schema subModel2 = context.getDefinedModels().get("PolymorphicSubtype2"); + assertNotNull(subModel2); + assertTrue(subModel2 instanceof ComposedSchema); + ComposedSchema cm2 = (ComposedSchema) subModel2; + assertEquals(cm2.getAllOf().get(0).get$ref(), "#/components/schemas/PolymorphicInterface"); + } + + // Interface with @JsonSubTypes only (no @Schema(oneOf=...)) + @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + @JsonSubTypes({ + @JsonSubTypes.Type(value = PolymorphicSubtype1.class, name = "subtype1"), + @JsonSubTypes.Type(value = PolymorphicSubtype2.class, name = "subtype2") + }) + interface PolymorphicInterface { + String getType(); + String getName(); + } + + static class PolymorphicSubtype1 implements PolymorphicInterface { + public String type = "subtype1"; + public String name = "subtype1"; + public String uniqueField1 = "field1"; + + @Override + public String getType() { return type; } + + @Override + public String getName() { return name; } + } + + static class PolymorphicSubtype2 implements PolymorphicInterface { + public String type = "subtype2"; + public String name = "subtype2"; + public String uniqueField2 = "field2"; + + @Override + public String getType() { return type; } + + @Override + public String getName() { return name; } + } + } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonViewTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonViewTest.java index f9519f3d81..66a93f55e8 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonViewTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/JsonViewTest.java @@ -1,8 +1,7 @@ package io.swagger.v3.core.resolving; import com.fasterxml.jackson.annotation.JsonView; -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; @@ -53,7 +52,6 @@ public Class[] value() { @JsonView(JsonViewObject.View.Protected.class) public void notIncludePropertiesToWhichJsonviewIsNotAnnotated() throws NoSuchMethodException { ObjectMapper mapper = mapper(); - mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION); final ModelResolver modelResolver = new ModelResolver(mapper); final ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SimpleGenerationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SimpleGenerationTest.java index 05f0656ab9..b9610764ad 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SimpleGenerationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SimpleGenerationTest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonValue; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.BeanDescription; +import tools.jackson.databind.DeserializationFeature; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.converter.ModelConverters; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java index 518305657c..b9ad4ffd95 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java @@ -1,12 +1,15 @@ package io.swagger.v3.core.resolving; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; +import tools.jackson.databind.MapperFeature; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.jackson.ModelResolver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.databind.cfg.EnumFeature; +import tools.jackson.databind.cfg.MapperBuilder; +import tools.jackson.databind.introspect.DefaultAccessorNamingStrategy; +import tools.jackson.databind.json.JsonMapper; public abstract class SwaggerTestBase { static ObjectMapper mapper; @@ -14,10 +17,15 @@ public abstract class SwaggerTestBase { public static ObjectMapper mapper() { if (mapper == null) { - mapper = new ObjectMapper(); - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + mapper = JsonMapper.builder() + .disable(EnumFeature.WRITE_ENUMS_USING_TO_STRING) + .configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, false) + .changeDefaultPropertyInclusion(incl -> incl + .withContentInclusion(JsonInclude.Include.NON_NULL) + .withValueInclusion(JsonInclude.Include.NON_NULL)) + .accessorNaming(new DefaultAccessorNamingStrategy.Provider() + .withFirstCharAcceptance(true, true)) + .build(); } return mapper; } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2189Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2189Test.java index 492da9e7f6..f3bf2445c4 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2189Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2189Test.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; @@ -37,6 +37,8 @@ public void testTicket2189() { " type: string\n" + " type:\n" + " type: string\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/SubClass\"\n" + "SubClass:\n" + " type: object\n" + " allOf:\n" + diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2862SubtypeTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2862SubtypeTest.java index d57220b7b2..1978097dab 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2862SubtypeTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2862SubtypeTest.java @@ -20,6 +20,8 @@ public void testSubType() throws Exception { SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), "Ticket2862Model:\n" + " type: object\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/Ticket2862ModelImpl\"\n" + " properties:\n" + " Ticket2862Model:\n" + " type: object\n" + @@ -31,5 +33,4 @@ public void testSubType() throws Exception { " - VALUE1\n" + " - VALUE2\n"); } - } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3030Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3030Test.java index 4d0e14c0cd..99003d4a0f 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3030Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3030Test.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.resolving; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; @@ -40,7 +40,9 @@ public void testTicket3030() throws Exception { " type: object\n" + " properties:\n" + " sharedProperty:\n" + - " type: string"; + " type: string\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/Child\"\n"; SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), yaml); } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3063Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3063Test.java index a70a292a39..9b7e7ee383 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3063Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3063Test.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; @@ -25,7 +25,6 @@ public void setup() { } - @Test public void testTicket3063() throws Exception { final Schema model = context.resolve(new AnnotatedType(BaseClass.class)); @@ -39,6 +38,8 @@ public void testTicket3063() throws Exception { " type: string\n" + " description: Type\n" + " example: AndroidDeviceRequirements\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/SubClass\"\n" + " description: test\n" + " discriminator:\n" + " propertyName: type\n" + diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3197Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3197Test.java index b1574a3072..88d583b615 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3197Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3197Test.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3348Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3348Test.java index f630cc3ef8..7450522dcf 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3348Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3348Test.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.resolving; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3365Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3365Test.java index e4830f0de8..45deaeef94 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3365Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3365Test.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.resolving; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3853Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3853Test.java index a5c008808b..cec75d69cb 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3853Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket3853Test.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverterContextImpl; import io.swagger.v3.core.jackson.ModelResolver; @@ -37,6 +37,8 @@ public void testTicket3853() { " type: string\n" + " type:\n" + " type: string\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/io.swagger.v3.core.resolving.Ticket3853Test$SubClass\"\n" + "io.swagger.v3.core.resolving.Ticket3853Test$SubClass:\n" + " type: object\n" + " allOf:\n" + diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4239Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4239Test.java index 5b41f7bed6..f0fa6faafa 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4239Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4239Test.java @@ -67,9 +67,10 @@ public void testJsonValueSchemaAnnotation() { " type: string\n" + "A_Output:\n" + " type: object\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/A1_Output\"\n" + " properties:\n" + " a_out:\n" + " type: string\n"); - } } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4760Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4760Test.java index 4ca3dea73b..b933682722 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4760Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4760Test.java @@ -5,7 +5,7 @@ import io.swagger.v3.oas.models.media.Schema; import org.testng.annotations.Test; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.Size; import java.util.List; import java.util.Map; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4904Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4904Test.java index 3a61aeeef3..e531b10a07 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4904Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket4904Test.java @@ -137,7 +137,6 @@ public void testOneOfWithReferences() { assertEquals((jsonSchema.getOneOf().get(0)).get$ref(), "#/components/schemas/RefSubtypeA"); assertEquals((jsonSchema.getOneOf().get(1)).get$ref(), "#/components/schemas/RefSubtypeB"); } - @Test public void testJacksonPolymorphismWithTypeInfo() { final ModelResolver modelResolver = new ModelResolver(mapper()); @@ -147,20 +146,14 @@ public void testJacksonPolymorphismWithTypeInfo() { io.swagger.v3.oas.models.media.Schema schema = context.resolve(new AnnotatedType(JacksonPolymorphicParent.class)); assertNotNull(schema); - assertTrue(schema instanceof JsonSchema, "Expected JsonSchema in OpenAPI 3.1 mode, but got: " + schema.getClass()); - JsonSchema jsonSchema = (JsonSchema) schema; - if (jsonSchema.getOneOf() != null) { - assertEquals(jsonSchema.getOneOf().size(), 2); - assertEquals((jsonSchema.getOneOf().get(0)).get$ref(), "#/components/schemas/JacksonChildA"); - assertEquals((jsonSchema.getOneOf().get(1)).get$ref(), "#/components/schemas/JacksonChildB"); - assertNotNull(jsonSchema.getDiscriminator()); - assertEquals(jsonSchema.getDiscriminator().getPropertyName(), "type"); - } else { - assertNotNull(jsonSchema.getProperties()); - assertTrue(jsonSchema.getProperties().containsKey("commonProperty") || - jsonSchema.getProperties().containsKey("type"), - "Expected to find either commonProperty or type discriminator property"); - } + assertTrue(schema instanceof ComposedSchema, "Expected ComposedSchema for @JsonSubTypes class in OpenAPI 3.1 mode, but got: " + schema.getClass()); + ComposedSchema composedSchema = (ComposedSchema) schema; + assertNotNull(composedSchema.getOneOf()); + assertEquals(composedSchema.getOneOf().size(), 2); + assertEquals((composedSchema.getOneOf().get(0)).get$ref(), "#/components/schemas/JacksonChildA"); + assertEquals((composedSchema.getOneOf().get(1)).get$ref(), "#/components/schemas/JacksonChildB"); + assertNotNull(composedSchema.getDiscriminator()); + assertEquals(composedSchema.getDiscriminator().getPropertyName(), "type"); } @Test diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5126Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5126Test.java index c629a96500..43bc4f25f7 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5126Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5126Test.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.resolving; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.util.AnnotationsUtils; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.jackson.ModelResolver; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5185Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5185Test.java index 5a014a637f..55a3f85780 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5185Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket5185Test.java @@ -6,7 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import org.testng.annotations.Test; -import javax.validation.constraints.Email; +import jakarta.validation.constraints.Email; import java.net.URI; import static io.swagger.v3.core.resolving.SwaggerTestBase.mapper; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XMLInfoTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XMLInfoTest.java index 709d99f441..3001f16b97 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XMLInfoTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XMLInfoTest.java @@ -10,14 +10,14 @@ import io.swagger.v3.oas.models.media.XML; import org.testng.annotations.Test; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlElementRefs; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementRef; +import jakarta.xml.bind.annotation.XmlElementRefs; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.List; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XmlModelTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XmlModelTest.java index 1aaf4a0b4e..fedb5d8737 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XmlModelTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/XmlModelTest.java @@ -10,9 +10,9 @@ import io.swagger.v3.oas.models.media.XML; import org.testng.annotations.Test; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java index 3272b4fbfa..b80ff1d27f 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/BidimensionalArray.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.v3.oas.annotations.media.ArraySchema; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.Size; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/TestObject2915.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/TestObject2915.java index 202bffb092..ead4bbb0d4 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/TestObject2915.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/resources/TestObject2915.java @@ -2,7 +2,7 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.io.Serializable; @Schema(name = "TestObject2616", description = "Nutritional value specification") diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java index 8f86ba7f5d..2ef7a48aa9 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java @@ -17,10 +17,10 @@ import io.swagger.v3.oas.models.media.Schema; import org.testng.annotations.Test; -import javax.validation.constraints.DecimalMax; -import javax.validation.constraints.DecimalMin; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; import java.util.List; import java.util.Map; @@ -244,6 +244,9 @@ public void testOAS31Fields() { "MultipleBaseBean:\n" + " type: object\n" + " description: MultipleBaseBean\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/MultipleSub1Bean\"\n" + + " - $ref: \"#/components/schemas/MultipleSub2Bean\"\n" + " properties:\n" + " beanType:\n" + " type: string\n" + diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPet.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPet.java index ac6f4e7e8f..05fb5b5ae6 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPet.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPet.java @@ -4,8 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.SchemaProperty; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPetSinglePatternProperty.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPetSinglePatternProperty.java index 8e47b5586c..10a5c49711 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPetSinglePatternProperty.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedPetSinglePatternProperty.java @@ -4,8 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.SchemaProperty; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Category.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Category.java index 77c98a4979..ac0905ee1c 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Category.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Category.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.resolving.v31.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Category") public class Category { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ExtensionUser.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ExtensionUser.java index 77cc8a8c6a..307cb67881 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ExtensionUser.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ExtensionUser.java @@ -4,8 +4,8 @@ import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") @Schema( diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ListOfStringsBeanParam.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ListOfStringsBeanParam.java index a5a8eb5fc5..4119bd5e56 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ListOfStringsBeanParam.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ListOfStringsBeanParam.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.resolving.v31.model; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.QueryParam; import java.util.List; public class ListOfStringsBeanParam { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Pet.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Pet.java index 1554a00ddb..2bdafcd69b 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Pet.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Pet.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Tag.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Tag.java index b05a72a340..3218a0aff1 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Tag.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/Tag.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.resolving.v31.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Tag") public class Tag { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/User.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/User.java index dc99ba451c..b210fbd2d6 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/User.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/User.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") public class User { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/roundtrip/ComprehensiveRoundTripTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/roundtrip/ComprehensiveRoundTripTest.java index e2ae0ea6a6..9b1b3ec3b1 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/roundtrip/ComprehensiveRoundTripTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/roundtrip/ComprehensiveRoundTripTest.java @@ -1,7 +1,8 @@ package io.swagger.v3.core.roundtrip; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.StreamReadFeature; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.JsonAssert; import io.swagger.v3.core.util.Json31; @@ -23,6 +24,7 @@ import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; import org.testng.annotations.Test; +import tools.jackson.databind.json.JsonMapper; import java.io.IOException; import java.util.HashMap; @@ -268,7 +270,9 @@ public void testBooleanSchemaRoundTrip() throws IOException { assertTrue(Boolean.TRUE.equals(deserializedOpenAPI.getComponents().getSchemas().get("BooleanSchema").getBooleanSchemaValue())); // Verify that the schema is serialized as a boolean value - ObjectMapper mapper = new ObjectMapper(); + ObjectMapper mapper = JsonMapper.builder() + .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION) + .build(); JsonNode jsonNode = mapper.readTree(json); assertTrue(jsonNode.get("components").get("schemas").get("BooleanSchema").isBoolean()); assertTrue(jsonNode.get("components").get("schemas").get("BooleanSchema").asBoolean()); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ComprehensiveSerializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ComprehensiveSerializationTest.java index 24d9489c06..fe42c09036 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ComprehensiveSerializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ComprehensiveSerializationTest.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.serialization; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Json31; import io.swagger.v3.core.util.Yaml; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/JsonSerializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/JsonSerializationTest.java index c55b180afb..c24e367e3b 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/JsonSerializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/JsonSerializationTest.java @@ -1,10 +1,5 @@ package io.swagger.v3.core.serialization; -import com.fasterxml.jackson.core.JsonFactory; -import com.fasterxml.jackson.core.util.DefaultIndenter; -import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; -import com.fasterxml.jackson.dataformat.yaml.JacksonYAMLParseException; -import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import io.swagger.v3.core.matchers.SerializationMatchers; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.ObjectMapperFactory; @@ -17,8 +12,13 @@ import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; import io.swagger.v3.oas.models.servers.Server; +import org.snakeyaml.engine.v2.api.LoadSettings; import org.testng.annotations.Test; -import org.yaml.snakeyaml.LoaderOptions; +import tools.jackson.core.json.JsonFactory; +import tools.jackson.core.util.DefaultIndenter; +import tools.jackson.core.util.DefaultPrettyPrinter; +import tools.jackson.dataformat.yaml.JacksonYAMLParseException; +import tools.jackson.dataformat.yaml.YAMLFactory; import java.util.HashMap; import java.util.Map; @@ -128,10 +128,11 @@ public void testSerializeJSONWithCustomFactory() throws Exception { @Test public void testSerializeYAMLWithCustomFactory() throws Exception { // given - LoaderOptions loaderOptions = new LoaderOptions(); - loaderOptions.setCodePointLimit(5 * 1024 * 1024); + LoadSettings loadSettings = LoadSettings.builder() + .setCodePointLimit(5 * 1024 * 1024) + .build(); YAMLFactory yamlFactory = YAMLFactory.builder() - .loaderOptions(loaderOptions) + .loadSettings(loadSettings) .build(); final String yaml = ResourceUtils.loadClassResource(getClass(), "specFiles/null-example.yaml"); @@ -145,10 +146,11 @@ public void testSerializeYAMLWithCustomFactory() throws Exception { @Test(expectedExceptions = JacksonYAMLParseException.class) public void testSerializeYAMLWithCustomFactoryAndCodePointLimitReached() throws Exception { // given - LoaderOptions loaderOptions = new LoaderOptions(); - loaderOptions.setCodePointLimit(1); + LoadSettings loadSettings = LoadSettings.builder() + .setCodePointLimit(1) + .build(); YAMLFactory yamlFactory = YAMLFactory.builder() - .loaderOptions(loaderOptions) + .loadSettings(loadSettings) .build(); final String yaml = ResourceUtils.loadClassResource(getClass(), "specFiles/null-example.yaml"); @@ -161,29 +163,21 @@ public void testSerializeYAMLWithCustomFactoryAndCodePointLimitReached() throws @Test public void testCustomPrettyPrinterIsHonored() { //given - DefaultPrettyPrinter originalPrinter = (DefaultPrettyPrinter) Json.mapper().getSerializationConfig().getDefaultPrettyPrinter(); - - try { - DefaultPrettyPrinter printer = new DefaultPrettyPrinter(); - printer.indentObjectsWith(new DefaultIndenter(" ", "\n")); - Json.mapper().setDefaultPrettyPrinter(printer); - - //when - OpenAPI openAPI = new OpenAPI() - .info(new Info().title("Pet Store")); - - String json = Json.pretty(openAPI); - - //then - assertTrue(json.contains("{\n \"openapi\""), - "Custom four-space indentation should be honored"); - assertTrue(json.contains(" \"info\" : {"), - "Nested objects should use four-space indentation"); - assertTrue(json.contains(" \"title\" : \"Pet Store\""), - "Doubly-nested properties should use eight-space indentation"); - } finally { - // Restore original pretty printer to avoid affecting other tests - Json.mapper().setDefaultPrettyPrinter(originalPrinter); - } + DefaultPrettyPrinter printer = new DefaultPrettyPrinter(); + printer.indentObjectsWith(new DefaultIndenter(" ", "\n")); + + //when + OpenAPI openAPI = new OpenAPI() + .info(new Info().title("Pet Store")); + + String json = Json.mapper().writer().with(printer).writeValueAsString(openAPI); + + //then + assertTrue(json.contains("{\n \"openapi\""), + "Custom four-space indentation should be honored"); + assertTrue(json.contains(" \"info\" : {"), + "Nested objects should use four-space indentation"); + assertTrue(json.contains(" \"title\" : \"Pet Store\""), + "Doubly-nested properties should use eight-space indentation"); } } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ModelSerializerTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ModelSerializerTest.java index b13386269c..4259f54ce0 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ModelSerializerTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ModelSerializerTest.java @@ -1,7 +1,6 @@ package io.swagger.v3.core.serialization; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.matchers.SerializationMatchers; import io.swagger.v3.core.oas.models.Car; @@ -17,6 +16,7 @@ import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.media.StringSchema; import org.testng.annotations.Test; +import tools.jackson.core.JacksonException; import java.io.IOException; import java.math.BigDecimal; @@ -34,7 +34,7 @@ public class ModelSerializerTest { private final ObjectMapper m = Json.mapper(); @Test(description = "it should convert a model") - public void convertModel() throws JsonProcessingException { + public void convertModel() throws JacksonException { final Schema pet = new Schema(); final Map props = new LinkedHashMap(); props.put("intValue", new IntegerSchema()); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java index 53e338d0a8..9661275afe 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java @@ -1,12 +1,12 @@ package io.swagger.v3.core.serialization; -import com.fasterxml.jackson.core.JsonFactory; -import com.fasterxml.jackson.core.util.DefaultIndenter; -import com.fasterxml.jackson.databind.json.JsonMapper; -import com.fasterxml.jackson.dataformat.yaml.JacksonYAMLParseException; -import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import io.swagger.v3.core.matchers.SerializationMatchers; -import io.swagger.v3.core.util.*; +import io.swagger.v3.core.util.Json; +import io.swagger.v3.core.util.Json31; +import io.swagger.v3.core.util.ObjectMapperFactory; +import io.swagger.v3.core.util.ResourceUtils; +import io.swagger.v3.core.util.Yaml; +import io.swagger.v3.core.util.Yaml31; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; @@ -31,8 +31,12 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.snakeyaml.engine.v2.api.LoadSettings; import org.testng.annotations.Test; -import org.yaml.snakeyaml.LoaderOptions; +import tools.jackson.core.json.JsonFactory; +import tools.jackson.core.util.DefaultIndenter; +import tools.jackson.dataformat.yaml.JacksonYAMLParseException; +import tools.jackson.dataformat.yaml.YAMLFactory; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @@ -1519,10 +1523,11 @@ public void testBooleanAdditionalPropertiesSerialization() throws Exception{ @Test(expectedExceptions = JacksonYAMLParseException.class) public void testSerializeYAML31WithCustomFactoryAndCodePointLimitReached() throws Exception { // given - LoaderOptions loaderOptions = new LoaderOptions(); - loaderOptions.setCodePointLimit(1); + LoadSettings loadSettings = LoadSettings.builder() + .setCodePointLimit(1) + .build(); YAMLFactory yamlFactory = YAMLFactory.builder() - .loaderOptions(loaderOptions) + .loadSettings(loadSettings) .build(); final String yaml = ResourceUtils.loadClassResource(getClass(), "specFiles/petstore-3.0.yaml"); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ParameterSerializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ParameterSerializationTest.java index 8e24bde938..4fd5b0488b 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ParameterSerializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/ParameterSerializationTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.serialization; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.matchers.SerializationMatchers; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Yaml; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/YamlSerializerTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/YamlSerializerTest.java index d2f99e059a..903b5dfd03 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/YamlSerializerTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/YamlSerializerTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.serialization; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; import io.swagger.v3.core.util.Yaml; import org.testng.annotations.Test; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/properties/PropertySerializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/properties/PropertySerializationTest.java index 5d362f2102..a733f7cb3c 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/properties/PropertySerializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/properties/PropertySerializationTest.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.serialization.properties; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.JsonAssert; import io.swagger.v3.oas.models.media.ArraySchema; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/AnnotationsUtilsTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/AnnotationsUtilsTest.java index 447f22da71..41616cecf5 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/AnnotationsUtilsTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/AnnotationsUtilsTest.java @@ -1,8 +1,8 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.BooleanNode; -import com.fasterxml.jackson.databind.node.IntNode; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.BooleanNode; +import tools.jackson.databind.node.IntNode; import com.google.common.collect.ImmutableMap; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.StringToClassMapItem; diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/JsonAssert.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/JsonAssert.java index f9ff7c2047..62aa0cfbab 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/JsonAssert.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/JsonAssert.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import static org.testng.Assert.assertTrue; public final class JsonAssert { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/KotlinDetectorTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/KotlinDetectorTest.java new file mode 100644 index 0000000000..48a0ea54e1 --- /dev/null +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/KotlinDetectorTest.java @@ -0,0 +1,28 @@ +package io.swagger.v3.core.util; + +import org.testng.annotations.Test; + +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertTrue; +public class KotlinDetectorTest { + + @Test + public void isKotlinClassNull() { + assertFalse(KotlinDetector.isKotlinClass(null)); + } + + @Test + public void isKotlinClassJavaClass() { + assertFalse(KotlinDetector.isKotlinClass(String.class)); + } + + @Test + public void isKotlinClassPrimitive() { + assertFalse(KotlinDetector.isKotlinClass(int.class)); + } + + @Test + public void isKotlinClassKotlinAnnotatedClass() { + assertTrue(KotlinDetector.isKotlinClass(KotlinAnnotatedClass.class)); + } +} diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ReferenceTypeUtilsTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ReferenceTypeUtilsTest.java index 8d10b07d7b..186f7be40f 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ReferenceTypeUtilsTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ReferenceTypeUtilsTest.java @@ -1,7 +1,7 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.type.TypeFactory; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.type.TypeFactory; import io.swagger.v3.core.converter.AnnotatedType; import org.testng.annotations.Test; @@ -19,9 +19,9 @@ public class ReferenceTypeUtilsTest { @Test(description = "AtomicReference should be reference type") public void testIsReferenceTypeWithAtomicReference() { - final JavaType referredType = TypeFactory.defaultInstance().constructType(String.class); + final JavaType referredType = TypeFactory.createDefaultInstance().constructType(String.class); final Class rawType = AtomicReference.class; - final JavaType atomicReferenceType = TypeFactory.defaultInstance().constructReferenceType(rawType, referredType); + final JavaType atomicReferenceType = TypeFactory.createDefaultInstance().constructReferenceType(rawType, referredType); final boolean actualIsReferenceType = ReferenceTypeUtils._isReferenceType(atomicReferenceType); @@ -30,10 +30,10 @@ public void testIsReferenceTypeWithAtomicReference() { @Test(description = "AtomicReference JavaType should be unwrapped") public void testUnwrapWithAtomicReferenceAndJavaType() { - final JavaType expectedReferredType = TypeFactory.defaultInstance().constructType(String.class); + final JavaType expectedReferredType = TypeFactory.createDefaultInstance().constructType(String.class); final Class rawType = AtomicReference.class; - final JavaType atomicReferenceType = TypeFactory.defaultInstance().constructReferenceType(rawType, expectedReferredType); + final JavaType atomicReferenceType = TypeFactory.createDefaultInstance().constructReferenceType(rawType, expectedReferredType); final AnnotatedType actualUnwrappedType = ReferenceTypeUtils.unwrapReference(new AnnotatedType(atomicReferenceType)); @@ -42,7 +42,7 @@ public void testUnwrapWithAtomicReferenceAndJavaType() { @Test(description = "AtomicReference should be unwrapped when read from Java bean") public void testUnwrapWithAtomicReferenceMemberFromJavaBean() throws Exception { - final JavaType expectedReferredType = TypeFactory.defaultInstance().constructType(BigDecimal.class); + final JavaType expectedReferredType = TypeFactory.createDefaultInstance().constructType(BigDecimal.class); final Type genericType = TypeWithAtomicReferenceMember.class.getDeclaredField("member").getGenericType(); final AnnotatedType actualUnwrappedType = ReferenceTypeUtils.unwrapReference(new AnnotatedType(genericType)); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/TestUtils.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/TestUtils.java index 8535d8bae5..c3ea3e5928 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/TestUtils.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/TestUtils.java @@ -1,6 +1,7 @@ package io.swagger.v3.core.util; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import org.apache.commons.io.IOUtils; import java.io.IOException; @@ -29,7 +30,7 @@ private static T deserializeFileFromClasspath(String path, Class type, Ob try { T result = objectMapper.readValue(contents, type); return result; - } catch (IOException e) { + } catch (JacksonException e) { throw new RuntimeException("Could not deserialize contents into type: " + type, e); } } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ValidationAnnotationsUtilsTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ValidationAnnotationsUtilsTest.java index 3d1c7e8d5f..4c6d909a77 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ValidationAnnotationsUtilsTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/ValidationAnnotationsUtilsTest.java @@ -8,7 +8,7 @@ import io.swagger.v3.oas.models.media.StringSchema; import org.testng.annotations.Test; -import javax.validation.constraints.*; +import jakarta.validation.constraints.*; import java.math.BigDecimal; import static org.testng.Assert.*; @@ -28,7 +28,7 @@ public String message() { } @Override - public Class[] payload() { + public Class[] payload() { return new Class[0]; } @@ -62,7 +62,7 @@ public String message() { } @Override - public Class[] payload() { + public Class[] payload() { return new Class[0]; } @@ -91,7 +91,7 @@ public String message() { } @Override - public Class[] payload() { + public Class[] payload() { return new Class[0]; } @@ -120,7 +120,7 @@ public String message() { } @Override - public Class[] payload() { + public Class[] payload() { return new Class[0]; } @@ -154,7 +154,7 @@ public String message() { } @Override - public Class[] payload() { + public Class[] payload() { return new Class[0]; } @@ -188,7 +188,7 @@ public String message() { } @Override - public Class[] payload() { + public Class[] payload() { return new Class[0]; } @@ -222,7 +222,7 @@ public String message() { } @Override - public Class[] payload() { + public Class[] payload() { return new Class[0]; } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/ReflectionUtilsTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/ReflectionUtilsTest.java index a62a1ccb41..a4287226b4 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/ReflectionUtilsTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/ReflectionUtilsTest.java @@ -11,7 +11,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import org.testng.annotations.Test; -import javax.ws.rs.Path; +import jakarta.ws.rs.Path; import java.lang.annotation.Annotation; import java.lang.annotation.Retention; @@ -139,7 +139,7 @@ public void isVoidTest() { @Test public void testDerivedAnnotation() { - final Path annotation = ReflectionUtils.getAnnotation(Child.class, javax.ws.rs.Path.class); + final Path annotation = ReflectionUtils.getAnnotation(Child.class, jakarta.ws.rs.Path.class); assertNotNull(annotation); assertEquals(annotation.value(), "parentInterfacePath"); } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/Child.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/Child.java index bd3ab28a49..826616cf95 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/Child.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/Child.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.util.reflection.resources; -import javax.inject.Inject; +import jakarta.inject.Inject; public class Child extends Parent implements IParent { diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/IParent.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/IParent.java index bbb71e0540..5b023ce051 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/IParent.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/reflection/resources/IParent.java @@ -1,6 +1,6 @@ package io.swagger.v3.core.util.reflection.resources; -import javax.ws.rs.Path; +import jakarta.ws.rs.Path; @Path("parentInterfacePath") @IndirectAnnotation diff --git a/modules/swagger-core/src/test/kotlin/io/swagger/v3/core/util/KotlinAnnotatedClass.kt b/modules/swagger-core/src/test/kotlin/io/swagger/v3/core/util/KotlinAnnotatedClass.kt new file mode 100644 index 0000000000..787c152436 --- /dev/null +++ b/modules/swagger-core/src/test/kotlin/io/swagger/v3/core/util/KotlinAnnotatedClass.kt @@ -0,0 +1,3 @@ +package io.swagger.v3.core.util + +class KotlinAnnotatedClass diff --git a/modules/swagger-core/src/test/resources/AbstractBaseModelWithoutFields.json b/modules/swagger-core/src/test/resources/AbstractBaseModelWithoutFields.json index f7888091c2..e1639f21a0 100644 --- a/modules/swagger-core/src/test/resources/AbstractBaseModelWithoutFields.json +++ b/modules/swagger-core/src/test/resources/AbstractBaseModelWithoutFields.json @@ -1,7 +1,10 @@ { "AbstractBaseModelWithoutFields": { "type": "object", - "description": "I am an Abstract Base Model without any declared fields and with Sub-Types" + "description": "I am an Abstract Base Model without any declared fields and with Sub-Types", + "oneOf": [ + {"$ref": "#/components/schemas/Thing3"} + ] }, "Thing3": { "type": "object", diff --git a/modules/swagger-core/src/test/resources/Animal.json b/modules/swagger-core/src/test/resources/Animal.json index a5b8f86f18..e8ad7f7d20 100644 --- a/modules/swagger-core/src/test/resources/Animal.json +++ b/modules/swagger-core/src/test/resources/Animal.json @@ -9,9 +9,13 @@ "type": "string" } }, - "discriminator" : { - "propertyName" : "type" - } + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + {"$ref": "#/components/schemas/Human"}, + {"$ref": "#/components/schemas/Pet"} + ] }, "Human": { "type": "object", @@ -34,6 +38,11 @@ }, "Pet": { "type": "object", + "required": [ + "isDomestic", + "name", + "type" + ], "allOf": [ { "$ref": "#/components/schemas/Animal" @@ -54,11 +63,6 @@ } } } - ], - "required": [ - "isDomestic", - "name", - "type" ] } } diff --git a/modules/swagger-core/src/test/resources/AnimalClass.json b/modules/swagger-core/src/test/resources/AnimalClass.json index 02d53ec73c..0572b4600c 100644 --- a/modules/swagger-core/src/test/resources/AnimalClass.json +++ b/modules/swagger-core/src/test/resources/AnimalClass.json @@ -9,9 +9,13 @@ "type": "string" } }, - "discriminator" : { - "propertyName" : "type" - } + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + {"$ref": "#/components/schemas/HumanClass"}, + {"$ref": "#/components/schemas/PetClass"} + ] }, "HumanClass": { "type": "object", @@ -34,6 +38,11 @@ }, "PetClass": { "type": "object", + "required": [ + "isDomestic", + "name", + "type" + ], "allOf": [ { "$ref": "#/components/schemas/AnimalClass" @@ -54,11 +63,6 @@ } } } - ], - "required": [ - "isDomestic", - "name", - "type" ] } } diff --git a/modules/swagger-core/src/test/resources/AnimalWithSchemaSubtypes.json b/modules/swagger-core/src/test/resources/AnimalWithSchemaSubtypes.json index b70ac49670..7753f02135 100644 --- a/modules/swagger-core/src/test/resources/AnimalWithSchemaSubtypes.json +++ b/modules/swagger-core/src/test/resources/AnimalWithSchemaSubtypes.json @@ -9,9 +9,13 @@ "type": "string" } }, - "discriminator" : { - "propertyName" : "type" - } + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + {"$ref": "#/components/schemas/HumanWithSchemaSubtypes"}, + {"$ref": "#/components/schemas/PetWithSchemaSubtypes"} + ] }, "HumanWithSchemaSubtypes": { "type": "object", @@ -34,6 +38,11 @@ }, "PetWithSchemaSubtypes": { "type": "object", + "required": [ + "isDomestic", + "name", + "type" + ], "allOf": [ { "$ref": "#/components/schemas/AnimalWithSchemaSubtypes" @@ -53,13 +62,7 @@ "type": "boolean" } } - } - ], - "required": [ - "isDomestic", - "name", - "type" ] } } diff --git a/modules/swagger-core/src/test/resources/ModelWithFieldWithSubTypes.json b/modules/swagger-core/src/test/resources/ModelWithFieldWithSubTypes.json index 74dd69a279..e5faddc2ed 100644 --- a/modules/swagger-core/src/test/resources/ModelWithFieldWithSubTypes.json +++ b/modules/swagger-core/src/test/resources/ModelWithFieldWithSubTypes.json @@ -1,9 +1,6 @@ { "AbstractBaseModelWithSubTypes": { "type": "object", - "discriminator" : { - "propertyName" : "_type" - }, "properties": { "_type": { "type": "string", @@ -18,7 +15,14 @@ "description": "An arbitrary field" } }, - "description": "I am an Abstract Base Model with Sub-Types" + "description": "I am an Abstract Base Model with Sub-Types", + "discriminator": { + "propertyName": "_type" + }, + "oneOf": [ + {"$ref": "#/components/schemas/Thing1"}, + {"$ref": "#/components/schemas/Thing2"} + ] }, "ModelWithFieldWithSubTypes": { "type": "object", diff --git a/modules/swagger-core/src/test/resources/logback-test.xml b/modules/swagger-core/src/test/resources/logback-test.xml index 2771ba39dd..b06aea0c1b 100644 --- a/modules/swagger-core/src/test/resources/logback-test.xml +++ b/modules/swagger-core/src/test/resources/logback-test.xml @@ -5,8 +5,8 @@ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - + + diff --git a/modules/swagger-eclipse-transformer-maven-plugin/README.md b/modules/swagger-eclipse-transformer-maven-plugin/README.md deleted file mode 100644 index 51bf0a7e78..0000000000 --- a/modules/swagger-eclipse-transformer-maven-plugin/README.md +++ /dev/null @@ -1,6 +0,0 @@ -Adapted from https://github.com/eclipse/transformer/blob/main/org.eclipse.transformer.maven -not to add the transformed JAR as an attached artifact to the project. - -To be replaced with Eclipse original Transformer plugin when/if optional attachment is supported. - - diff --git a/modules/swagger-eclipse-transformer-maven-plugin/pom.xml b/modules/swagger-eclipse-transformer-maven-plugin/pom.xml deleted file mode 100644 index dedc893466..0000000000 --- a/modules/swagger-eclipse-transformer-maven-plugin/pom.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - io.swagger.core.v3 - swagger-project - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-eclipse-transformer-maven-plugin - swagger-eclipse-transformer-maven-plugin - swagger-eclipse-transformer-maven-plugin - maven-plugin - - 3.9.14 - 0.20 - 3.3.0 - 1.2.6 - 3.18.1 - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${enforcer-plugin-version} - - true - - - - org.apache.maven.plugins - maven-jar-plugin - 3.5.1 - - - org.apache.maven.plugins - maven-plugin-plugin - 3.15.2 - - transform - - - - - - - org.eclipse.transformer - org.eclipse.transformer.cli - 0.2.0 - - - javax.inject - javax.inject - 1 - - compile - - - org.apache.maven - maven-plugin-api - ${maven.target.version} - provided - - - org.codehaus.plexus - plexus-utils - - - org.codehaus.plexus - plexus-component-annotations - - - org.codehaus.plexus - plexus-classworlds - - - - - org.apache.maven - maven-core - ${maven.target.version} - provided - - - org.codehaus.plexus - plexus-utils - - - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.15.1 - provided - - - org.apache.maven - maven-artifact - - - - - org.codehaus.plexus - plexus-archiver - 4.10.0 - test - - - org.codehaus.plexus - plexus-utils - - - org.apache.commons - commons-compress - - - - - org.codehaus.plexus - plexus-utils - 4.0.3 - - - org.codehaus.plexus - plexus-component-annotations - 2.2.0 - - - org.apache.maven - maven-model - ${maven.target.version} - provided - - - commons-cli - commons-cli - 1.11.0 - - - org.apache.maven - maven-artifact - ${maven.target.version} - provided - - - org.apache.maven - maven-compat - ${maven.target.version} - provided - - - org.codehaus.plexus - plexus-utils - - - - - diff --git a/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java b/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java deleted file mode 100644 index 667f320168..0000000000 --- a/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java +++ /dev/null @@ -1,272 +0,0 @@ -package io.swagger.v3.oas.transformer; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintStream; -import java.io.UnsupportedEncodingException; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Consumer; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.plugins.annotations.ResolutionScope; -import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectHelper; -import org.eclipse.transformer.Transformer; -import org.eclipse.transformer.jakarta.JakartaTransformer; - -/** - * - * Adapted from https://github.com/eclipse/transformer/blob/main/org.eclipse.transformer.maven - * not to add the transformed JAR as an attached artifact to the project. - * - * To be replaced with Eclipse original Transformer plugin when/if optional attachment is supported. - * - * This is a Maven plugin which runs the Eclipse Transformer on build artifacts - * as part of the build. - */ -@Mojo(name = "run", requiresDependencyResolution = ResolutionScope.RUNTIME_PLUS_SYSTEM, defaultPhase = LifecyclePhase.PACKAGE, requiresProject = true, threadSafe = true) -public class TransformMojo extends AbstractMojo { - - @Parameter(defaultValue = "${project}", readonly = true, required = true) - private MavenProject project; - - @Parameter(defaultValue = "false", property = "transformer-plugin.invert", required = true) - private Boolean invert; - - @Parameter(defaultValue = "true", property = "transformer-plugin.overwrite", required = true) - private Boolean overwrite; - - @Parameter(property = "transformer-plugin.renames", defaultValue = "") - private String rulesRenamesUri; - - @Parameter(property = "transformer-plugin.versions", defaultValue = "") - private String rulesVersionUri; - - @Parameter(property = "transformer-plugin.bundles", defaultValue = "") - private String rulesBundlesUri; - - @Parameter(property = "transformer-plugin.direct", defaultValue = "") - private String rulesDirectUri; - - @Parameter(property = "transformer-plugin.per-class-constant", defaultValue = "") - private String rulesPerClassConstantUri; - - @Parameter(property = "transformer-plugin.xml", defaultValue = "") - private String rulesXmlsUri; - - @Parameter(defaultValue = "transformed") - private String classifier; - - private static final int MAX_LOG_BUFFER_SIZE = 16 * 1024; - - @Parameter(defaultValue = "${project.build.directory}", required = true) - private File outputDirectory; - - @Parameter(defaultValue = "true", property = "transformer-plugin.attach", required = true) - private Boolean attach; - - @Component - private MavenProjectHelper projectHelper; - - /** - * Main execution point of the plugin. This looks at the attached artifacts, - * and runs the transformer on them. - * - * @throws MojoFailureException Thrown if there is an error during plugin - * execution - */ - @Override - public void execute() throws MojoFailureException { - final Transformer transformer = getTransformer(); - - final Artifact[] sourceArtifacts = getSourceArtifacts(); - for (final Artifact sourceArtifact : sourceArtifacts) { - transform(transformer, sourceArtifact); - } - } - - /** - * This runs the transformation process on the source artifact with the - * transformer provided. The transformed artifact is attached to the - * project. - * - * @param transformer The Transformer to use for the transformation - * @param sourceArtifact The Artifact to transform - * @throws MojoFailureException if plugin execution fails - */ - public void transform(final Transformer transformer, final Artifact sourceArtifact) throws MojoFailureException { - - final String sourceClassifier = sourceArtifact.getClassifier(); - final String targetClassifier = (sourceClassifier == null || sourceClassifier.length() == 0) ? this.classifier - : sourceClassifier + "-" + this.classifier; - - final File targetFile = new File(outputDirectory, sourceArtifact.getArtifactId() + "-" + targetClassifier + "-" - + sourceArtifact.getVersion() + "." + sourceArtifact.getType()); - - final List args = new ArrayList<>(); - args.add(sourceArtifact.getFile() - .getAbsolutePath()); - args.add(targetFile.getAbsolutePath()); - - if (this.overwrite) { - args.add("-o"); - } - - transformer.setArgs(args.toArray(new String[0])); - int rc = transformer.run(); - - if (rc != 0) { - throw new MojoFailureException("Transformer failed with an error: " + Transformer.RC_DESCRIPTIONS[rc]); - } - - if (attach) { - projectHelper.attachArtifact(project, sourceArtifact.getType(), targetClassifier, targetFile); - } - } - - /** - * Builds a configured transformer for the specified source and target - * artifacts - * - * @return A configured transformer - */ - public Transformer getTransformer() { - final Transformer transformer = new Transformer( - createLoggingPrintStream(getLog()::info), - createLoggingPrintStream(getLog()::error)); - transformer.setOptionDefaults(JakartaTransformer.class, getOptionDefaults()); - return transformer; - } - - /** - * Gets the source artifacts that should be transformed - * - * @return an array to artifacts to be transformed - */ - public Artifact[] getSourceArtifacts() { - List artifactList = new ArrayList<>(); - if (project.getArtifact() != null && project.getArtifact() - .getFile() != null) { - artifactList.add(project.getArtifact()); - } - - for (final Artifact attachedArtifact : project.getAttachedArtifacts()) { - if (attachedArtifact.getFile() != null) { - artifactList.add(attachedArtifact); - } - } - - return artifactList.toArray(new Artifact[0]); - } - - private Map getOptionDefaults() { - Map optionDefaults = new HashMap<>(); - optionDefaults.put(Transformer.AppOption.RULES_RENAMES, - isEmpty(rulesRenamesUri) ? "jakarta-renames.properties" : rulesRenamesUri); - optionDefaults.put(Transformer.AppOption.RULES_VERSIONS, - isEmpty(rulesVersionUri) ? "jakarta-versions.properties" : rulesVersionUri); - optionDefaults.put(Transformer.AppOption.RULES_BUNDLES, - isEmpty(rulesBundlesUri) ? "jakarta-bundles.properties" : rulesBundlesUri); - optionDefaults.put(Transformer.AppOption.RULES_DIRECT, - isEmpty(rulesDirectUri) ? "jakarta-direct.properties" : rulesDirectUri); - optionDefaults.put(Transformer.AppOption.RULES_MASTER_TEXT, - isEmpty(rulesXmlsUri) ? "jakarta-text-master.properties" : rulesXmlsUri); - optionDefaults.put(Transformer.AppOption.RULES_PER_CLASS_CONSTANT, - isEmpty(rulesPerClassConstantUri) ? "jakarta-per-class-constant-master.properties" : rulesPerClassConstantUri); - return optionDefaults; - } - - private PrintStream createLoggingPrintStream(Consumer logConsumer) { - try { - return new PrintStream(new LoggingOutputStream(logConsumer, MAX_LOG_BUFFER_SIZE), true, StandardCharsets.UTF_8.name()); - } catch (UnsupportedEncodingException e) { - throw new IllegalStateException("UTF-8 encoding is not supported", e); - } - } - - private static final class LoggingOutputStream extends OutputStream { - private final Consumer logConsumer; - private final ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - private final int maxBufferSize; - - private LoggingOutputStream(Consumer logConsumer, int maxBufferSize) { - this.logConsumer = logConsumer; - this.maxBufferSize = maxBufferSize > 0 ? maxBufferSize : Integer.MAX_VALUE; - } - - @Override - public void write(int b) { - if (b == '\n') { - flushBuffer(); - } else if (b != '\r') { - buffer.write(b); - if (buffer.size() >= this.maxBufferSize) { - flushBuffer(); - } - } - } - - @Override - public void flush() { - flushBuffer(); - } - - @Override - public void close() throws IOException { - flushBuffer(); - } - - private void flushBuffer() { - if (buffer.size() == 0) { - return; - } - logConsumer.accept(new String(buffer.toByteArray(), StandardCharsets.UTF_8)); - buffer.reset(); - } - } - - private boolean isEmpty(final String input) { - return input == null || input.trim() - .length() == 0; - } - - void setProject(MavenProject project) { - this.project = project; - } - - void setClassifier(String classifier) { - this.classifier = classifier; - } - - MavenProjectHelper getProjectHelper() { - return projectHelper; - } - - void setProjectHelper(MavenProjectHelper projectHelper) { - this.projectHelper = projectHelper; - } - - void setOverwrite(Boolean overwrite) { - this.overwrite = overwrite; - } - - void setOutputDirectory(File outputDirectory) { - this.outputDirectory = outputDirectory; - } - - void setAttach(Boolean attach) { - this.attach = attach; - } -} diff --git a/modules/swagger-gradle-plugin/README.md b/modules/swagger-gradle-plugin/README.md index 3dcf73a47d..595f373b89 100644 --- a/modules/swagger-gradle-plugin/README.md +++ b/modules/swagger-gradle-plugin/README.md @@ -5,17 +5,16 @@ ## Jakarta namespace support Since version 2.1.7 Swagger Core supports also Jakarta namespace, with a parallel set of artifacts with `-jakarta` suffix, providing the same functionality as the "standard" `javax` namespace ones. -Please check [Wiki](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) for more details +Please check [Wiki](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Getting-started) for more details To have gradle plugin use the `jakarta` namespace artifacts, you need to provide a value to parameter `buildClasspath` In many cases it is sufficient to set it to the `classpath` value, like: `buildClasspath = classpath` -Alternatively provide as value a classpath with the following dependencies (replacing the provided [`javax` ones](https://github.com/swagger-api/swagger-core/blob/master/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java#L16-L25)): +Alternatively provide as value a classpath with the following dependencies (replacing the provided [`javax` ones](https://github.com/vpelikh/swagger-core/blob/master/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java#L16-L25)): -* org.apache.commons:commons-lang3:3.20.0 -* io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.9 +* io.github.vpelikh:swagger-jakarta-rest:4.0.0 * jakarta.ws.rs:jakarta.ws.rs-api:3.0.0 * jakarta.servlet:jakarta.servlet-api:5.0.0 @@ -26,7 +25,7 @@ Alternatively provide as value a classpath with the following dependencies (repl ``` plugins { - id "io.swagger.core.v3.swagger-gradle-plugin" version "2.2.54" +id "io.github.vpelikh.swagger-gradle-plugin" version "2.2.54" } ``` ### Gradle 1.x and 2.0 @@ -43,11 +42,11 @@ buildscript { } } dependencies { - classpath "io.swagger.core.v3:swagger-gradle-plugin:2.2.54" +classpath "io.github.vpelikh:swagger-gradle-plugin:2.2.54" } } -apply plugin: "io.swagger.core.v3.swagger-gradle-plugin" +apply plugin: "io.github.vpelikh.swagger-gradle-plugin" ``` ## Tasks @@ -55,7 +54,7 @@ apply plugin: "io.swagger.core.v3.swagger-gradle-plugin" * Resolves project openAPI specification and saves the result in JSON, YAML or both formats. All parameters except `outputFileName`, `outputFormat`, `classpath`, `skip`, `encoding`, `outputDir` and `outputPath` correspond -to `swagger` [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) with same name. +to `swagger` [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) with same name. #### Example Usage @@ -80,30 +79,30 @@ Parameter | Description | Required | Default `outputFormat`|file format (`JSON`, `YAML`, `JSONANDYAML`|false|`JSON` `skip`|if `TRUE` skip execution|false|`FALSE` `encoding`|encoding of output file(s)|false| -`resourcePackages`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`resourceClasses`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`prettyPrint`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`TRUE` -`sortOutput`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`FALSE` -`alwaysResolveAppPath`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`FALSE` -`skipResolveAppPath`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`FALSE` -`openApiFile`|openapi file to be merged with resolved specification, equivalent to [config](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) openAPI|false| -`filterClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`readerClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`scannerClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`readAllResources`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`ignoredRoutes`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`objectMapperProcessorClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`modelConverterClasses`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`contextId`|see [Context](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#context)|false| +`resourcePackages`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`resourceClasses`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`prettyPrint`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`TRUE` +`sortOutput`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`FALSE` +`alwaysResolveAppPath`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`FALSE` +`skipResolveAppPath`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false|`FALSE` +`openApiFile`|openapi file to be merged with resolved specification, equivalent to [config](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) openAPI|false| +`filterClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`readerClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`scannerClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`readAllResources`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`ignoredRoutes`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`objectMapperProcessorClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`modelConverterClasses`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`contextId`|see [Context](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#context)|false| `outputPath`|**DEPRECATED** output path where file(s) are saved|false| -`defaultResponseCode`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`groupsValidationStrategy`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`validatorProcessorClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`openapi31`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`schemaResolution`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| DEFAULT | -`openAPIVersion`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| `3.0.1/3.1.0` | - -**Note** parameter `openApiFile` corresponds to [config](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) openAPI. It points to a location of a file in YAML or JSON format representing the input spec that will be merged with the resolved spec. Typically used to add Info section, or any other meta data. +`defaultResponseCode`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`groupsValidationStrategy`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`validatorProcessorClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`openapi31`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`schemaResolution`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| DEFAULT | +`openAPIVersion`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| `3.0.1/3.1.0` | + +**Note** parameter `openApiFile` corresponds to [config](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) openAPI. It points to a location of a file in YAML or JSON format representing the input spec that will be merged with the resolved spec. Typically used to add Info section, or any other meta data. An example of such file: ```yaml diff --git a/modules/swagger-gradle-plugin/build.gradle b/modules/swagger-gradle-plugin/build.gradle index 6bb552f07e..c59a3f3716 100644 --- a/modules/swagger-gradle-plugin/build.gradle +++ b/modules/swagger-gradle-plugin/build.gradle @@ -4,7 +4,7 @@ plugins { id 'java-gradle-plugin' // Publishing publicly - id 'com.gradle.plugin-publish' version '0.21.0' + id 'com.gradle.plugin-publish' version '2.1.1' // Publishing to maven id 'maven-publish' } @@ -13,13 +13,21 @@ plugins { // Dependencies // * * * * * * * * * * * * +import org.apache.tools.ant.filters.ReplaceTokens + repositories { mavenLocal() mavenCentral() } +processResources { + filter(ReplaceTokens, tokens: [ + "project.version": project.version + ]) +} + compileJava { - options.release = 8 + options.release = 17 } processResources { @@ -32,30 +40,14 @@ processResources { dependencies { implementation gradleApi() - implementation 'org.apache.commons:commons-lang3:3.20.0' testImplementation gradleTestKit() - testImplementation('com.github.tomakehurst:wiremock:2.27.2') { - exclude group: 'com.jayway.jsonpath', module: 'json-path' - exclude group: 'org.eclipse.jetty', module: 'jetty-server' - exclude group: 'org.eclipse.jetty', module: 'jetty-servlet' - exclude group: 'org.eclipse.jetty', module: 'jetty-servlets' - exclude group: 'org.eclipse.jetty', module: 'jetty-webapp' - exclude group: 'org.eclipse.jetty', module: 'jetty-proxy' - exclude group: 'commons-codec', module: 'commons-codec' - exclude group: 'com.github.jknack', module: 'handlebars' - exclude group: 'com.github.jknack', module: 'handlebars-helpers' - } - testImplementation 'javax.servlet:javax.servlet-api:3.1.0' + testImplementation 'org.wiremock:wiremock:4.0.0-beta.36' + testImplementation 'jakarta.servlet:jakarta.servlet-api:6.1.0' testImplementation 'com.google.guava:guava:32.1.3-jre' - testImplementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' - testImplementation "io.swagger.core.v3:swagger-jaxrs2:${project.version}" + testImplementation 'jakarta.ws.rs:jakarta.ws.rs-api:4.0.0' + testImplementation "io.github.vpelikh:swagger-jakarta-rest:${project.version}" testImplementation 'org.testng:testng:7.10.2' - testImplementation "org.eclipse.jetty:jetty-server:${project.jettyVersion}" - testImplementation "org.eclipse.jetty:jetty-servlet:${project.jettyVersion}" - testImplementation "org.eclipse.jetty:jetty-servlets:${project.jettyVersion}" - testImplementation "org.eclipse.jetty:jetty-webapp:${project.jettyVersion}" - testImplementation "org.eclipse.jetty:jetty-proxy:${project.jettyVersion}" testImplementation "org.apache.httpcomponents:httpclient:4.5.14" testImplementation "commons-codec:commons-codec:1.16.0" testImplementation "commons-io:commons-io:2.15.1" @@ -69,12 +61,12 @@ dependencies { // * * * * * * * * * * * * project.description = 'Gradle Plugin for Swagger core' -project.group = 'io.swagger.core.v3' +project.group = 'io.github.vpelikh' project.ext.name = 'swagger-gradle-plugin' -project.ext.pluginId = 'io.swagger.core.v3.swagger-gradle-plugin' -project.ext.scm = 'https://github.com/swagger-api/swagger-core.git' -project.ext.url = 'https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin' +project.ext.pluginId = 'io.github.vpelikh.swagger-gradle-plugin' +project.ext.scm = 'https://github.com/vpelikh/swagger-core.git' +project.ext.url = 'https://github.com/vpelikh/swagger-core/tree/master/modules/swagger-gradle-plugin' // Configuration for: java-gradle-plugin gradlePlugin { @@ -90,21 +82,21 @@ gradlePlugin { // Publishing // * * * * * * * * * * * * - // Publishing to plugins.gradle.org // -------------------------------- // Configuration for: com.gradle.plugin-publish -pluginBundle { +gradlePlugin { website = project.url vcsUrl = project.scm - tags = ['swagger', 'openapi', 'api'] plugins { swagger { - displayName = 'Swagger Gradle Plugin ' + id = project.pluginId + displayName = 'Swagger Gradle Plugin' description = project.description - id = project.pluginId + implementationClass = 'io.swagger.v3.plugins.gradle.SwaggerPlugin' + tags = ['swagger', 'openapi', 'api'] } } } diff --git a/modules/swagger-gradle-plugin/gradle.properties b/modules/swagger-gradle-plugin/gradle.properties index 6884771029..5a5ec6ef8a 100644 --- a/modules/swagger-gradle-plugin/gradle.properties +++ b/modules/swagger-gradle-plugin/gradle.properties @@ -1,2 +1,2 @@ -version=2.2.55-SNAPSHOT +version=4.0.4-SNAPSHOT jettyVersion=9.4.53.v20231009 diff --git a/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.jar b/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.jar index ccebba7710..b1b8ef56b4 100644 Binary files a/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.jar and b/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.jar differ diff --git a/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.properties index 9718e5a4a5..229a83b752 100644 --- a/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/modules/swagger-gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,9 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip networkTimeout=60000 +retries=0 +retryBackOffMs=500 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/modules/swagger-gradle-plugin/gradlew b/modules/swagger-gradle-plugin/gradlew index 79a61d421c..b9bb139f79 100755 --- a/modules/swagger-gradle-plugin/gradlew +++ b/modules/swagger-gradle-plugin/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright Ā© 2015-2021 the original authors. +# Copyright Ā© 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -83,10 +85,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -133,10 +132,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +146,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +154,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -169,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -197,16 +198,19 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/modules/swagger-gradle-plugin/gradlew.bat b/modules/swagger-gradle-plugin/gradlew.bat index 6689b85bee..aa5f10b069 100644 --- a/modules/swagger-gradle-plugin/gradlew.bat +++ b/modules/swagger-gradle-plugin/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -21,8 +23,8 @@ @rem @rem ########################################################################## -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal +@rem Set local scope for the variables, and ensure extensions are enabled +setlocal EnableExtensions set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. @@ -43,13 +45,13 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 -goto fail +"%COMSPEC%" /c exit 1 :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% @@ -57,36 +59,24 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 -goto fail +"%COMSPEC%" /c exit 1 :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal +@rem endlocal doesn't take effect until after the line is parsed and variables are expanded +@rem which allows us to clear the local environment before executing the java command +endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel -:omega +:exitWithErrorLevel +@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts +"%COMSPEC%" /c exit %ERRORLEVEL% diff --git a/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java b/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java index d4de58f017..cc38649b90 100644 --- a/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java +++ b/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java @@ -1,5 +1,9 @@ package io.swagger.v3.plugins.gradle; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + import io.swagger.v3.plugins.gradle.tasks.ResolveTask; import java.io.IOException; import java.io.InputStream; @@ -22,10 +26,9 @@ public void apply(Project project) { config.defaultDependencies(new Action() { public void execute(DependencySet dependencies) { - dependencies.add(project.getDependencies().create("org.apache.commons:commons-lang3:3.20.0")); - dependencies.add(project.getDependencies().create("io.swagger.core.v3:swagger-jaxrs2:" + PLUGIN_VERSION)); - dependencies.add(project.getDependencies().create("javax.ws.rs:javax.ws.rs-api:2.1")); - dependencies.add(project.getDependencies().create("javax.servlet:javax.servlet-api:3.1.0")); + dependencies.add(project.getDependencies().create("io.github.vpelikh:swagger-jakarta-rest:" + PLUGIN_VERSION)); + dependencies.add(project.getDependencies().create("jakarta.ws.rs:jakarta.ws.rs-api:4.0.0")); + dependencies.add(project.getDependencies().create("jakarta.servlet:jakarta.servlet-api:6.1.0")); } }); TaskProvider lazyTask = project.getTasks().register("resolve", ResolveTask.class,task -> { diff --git a/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/tasks/ResolveTask.java b/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/tasks/ResolveTask.java index 2ab1f0b11e..17234966ca 100644 --- a/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/tasks/ResolveTask.java +++ b/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/tasks/ResolveTask.java @@ -1,6 +1,5 @@ package io.swagger.v3.plugins.gradle.tasks; -import org.apache.commons.lang3.StringUtils; import org.gradle.api.DefaultTask; import org.gradle.api.GradleException; import org.gradle.api.file.ConfigurableFileCollection; @@ -485,7 +484,7 @@ public void resolve() throws GradleException { //ClassLoader classLoader = new URLClassLoader(urls.toArray(new URL[urls.size()]), Thread.currentThread().getContextClassLoader()); try (URLClassLoader classLoader = new URLClassLoader(urls)) { - Class swaggerLoaderClass = classLoader.loadClass("io.swagger.v3.jaxrs2.integration.SwaggerLoader"); + Class swaggerLoaderClass = classLoader.loadClass("io.swagger.v3.jakartarest.integration.SwaggerLoader"); Object swaggerLoader = swaggerLoaderClass.newInstance(); Method method = null; @@ -496,7 +495,7 @@ public void resolve() throws GradleException { final File openApiFileHandle = openApiFile.get().getAsFile(); if (openApiFileHandle.exists() && openApiFileHandle.isFile()) { String openapiFileContent = new String(Files.readAllBytes(openApiFileHandle.toPath()), encoding.get()); - if (StringUtils.isNotBlank(openapiFileContent)) { + if (isNotBlank(openapiFileContent)) { method = swaggerLoaderClass.getDeclaredMethod("setOpenapiAsString", String.class); method.invoke(swaggerLoader, openapiFileContent); } @@ -520,42 +519,42 @@ public void resolve() throws GradleException { method.invoke(swaggerLoader, ignoredRoutes.get().stream().map(Object::toString).collect(Collectors.joining(","))); } - if (filterClass.isPresent() && StringUtils.isNotBlank(filterClass.get())) { + if (filterClass.isPresent() && isNotBlank(filterClass.get())) { method = swaggerLoaderClass.getDeclaredMethod("setFilterClass", String.class); method.invoke(swaggerLoader, filterClass.get()); } - if (readerClass.isPresent() && StringUtils.isNotBlank(readerClass.get())) { + if (readerClass.isPresent() && isNotBlank(readerClass.get())) { method = swaggerLoaderClass.getDeclaredMethod("setReaderClass", String.class); method.invoke(swaggerLoader, readerClass.get()); } - if (scannerClass.isPresent() && StringUtils.isNotBlank(scannerClass.get())) { + if (scannerClass.isPresent() && isNotBlank(scannerClass.get())) { method = swaggerLoaderClass.getDeclaredMethod("setScannerClass", String.class); method.invoke(swaggerLoader, scannerClass.get()); } - if (contextId.isPresent() && StringUtils.isNotBlank(contextId.get())) { + if (contextId.isPresent() && isNotBlank(contextId.get())) { method = swaggerLoaderClass.getDeclaredMethod("setContextId", String.class); method.invoke(swaggerLoader, contextId.get()); } - if (objectMapperProcessorClass.isPresent() && StringUtils.isNotBlank(objectMapperProcessorClass.get())) { + if (objectMapperProcessorClass.isPresent() && isNotBlank(objectMapperProcessorClass.get())) { method = swaggerLoaderClass.getDeclaredMethod("setObjectMapperProcessorClass", String.class); method.invoke(swaggerLoader, objectMapperProcessorClass.get()); } - if (defaultResponseCode.isPresent() && StringUtils.isNotBlank(defaultResponseCode.get())) { + if (defaultResponseCode.isPresent() && isNotBlank(defaultResponseCode.get())) { method = swaggerLoaderClass.getDeclaredMethod("setDefaultResponseCode", String.class); method.invoke(swaggerLoader, defaultResponseCode.get()); } - if (validatorProcessorClass.isPresent() && StringUtils.isNotBlank(validatorProcessorClass.get())) { + if (validatorProcessorClass.isPresent() && isNotBlank(validatorProcessorClass.get())) { method = swaggerLoaderClass.getDeclaredMethod("setValidatorProcessorClass", String.class); method.invoke(swaggerLoader, validatorProcessorClass.get()); } - if (groupsValidationStrategy.isPresent() && StringUtils.isNotBlank(groupsValidationStrategy.get())) { + if (groupsValidationStrategy.isPresent() && isNotBlank(groupsValidationStrategy.get())) { method = swaggerLoaderClass.getDeclaredMethod("setGroupsValidationStrategy", String.class); method.invoke(swaggerLoader, groupsValidationStrategy.get()); } @@ -616,4 +615,8 @@ public void resolve() throws GradleException { throw new GradleException(e.getMessage(), e); } } + + private static boolean isNotBlank(String str) { + return str != null && !str.isBlank(); + } } diff --git a/modules/swagger-gradle-plugin/src/main/resources/swagger-plugin.properties b/modules/swagger-gradle-plugin/src/main/resources/swagger-plugin.properties new file mode 100644 index 0000000000..a9ca5c52b0 --- /dev/null +++ b/modules/swagger-gradle-plugin/src/main/resources/swagger-plugin.properties @@ -0,0 +1 @@ +version=@project.version@ diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/SwaggerResolveTest.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/SwaggerResolveTest.java index d15cd7b44d..f9a6df6066 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/SwaggerResolveTest.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/SwaggerResolveTest.java @@ -18,6 +18,9 @@ import java.util.Objects; import java.util.Properties; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.Properties; import org.gradle.testkit.runner.BuildResult; import org.gradle.testkit.runner.GradleRunner; import org.testng.annotations.Test; @@ -29,8 +32,7 @@ public class SwaggerResolveTest { System.getProperty("swagger.plugin.version"), "Missing swagger.plugin.version test system property" ); - private static final String SWAGGER_JAXRS2_DEPENDENCY = "io.swagger.core.v3:swagger-jaxrs2:" + - PROJECT_VERSION; + private static final String SWAGGER_JAXRS2_DEPENDENCY = "io.github.vpelikh:swagger-jakarta-rest:" + PROJECT_VERSION; private Path testProjectDir; private Path buildFile; @@ -39,6 +41,28 @@ public class SwaggerResolveTest { private String outputFile; private String outputDir; + private static final String SWAGGER_VERSION; + + static { + try { + SWAGGER_VERSION = loadSwaggerVersion(); + } catch (Exception e) { + throw new ExceptionInInitializerError(e); + } + } + + private static String loadSwaggerVersion() throws Exception { + Properties props = new Properties(); + try (InputStream is = new FileInputStream("gradle.properties")) { + props.load(is); + } + String version = props.getProperty("version"); + if (version == null) { + throw new Exception("version property not found in gradle.properties"); + } + return version; + } + @BeforeMethod public void setup() throws IOException { testProjectDir = Files.createTempDirectory("test"); @@ -95,7 +119,7 @@ public void testSwaggerResolveTask() throws IOException { String buildFileContent = "plugins {\n" + " id 'java'\n" + - " id 'io.swagger.core.v3.swagger-gradle-plugin'\n" + + " id 'io.github.vpelikh.swagger-gradle-plugin'\n" + "}\n" + "sourceSets {\n" + " test {\n" + @@ -111,9 +135,9 @@ public void testSwaggerResolveTask() throws IOException { "}\n" + "dependencies { \n" + " implementation '" + SWAGGER_JAXRS2_DEPENDENCY + "'\n" + - " implementation 'javax.ws.rs:javax.ws.rs-api:2.1'\n" + - " implementation 'javax.servlet:javax.servlet-api:3.1.0'\n" + - " testImplementation 'com.github.tomakehurst:wiremock:2.27.2'\n" + + " implementation 'jakarta.ws.rs:jakarta.ws.rs-api:4.0.0'\n" + + " implementation 'jakarta.servlet:jakarta.servlet-api:6.1.0'\n" + + " testImplementation 'org.wiremock:wiremock:4.0.0-beta.36'\n" + " testImplementation 'org.testng:testng:7.10.2'\n" + "\n" + "\n" + @@ -168,7 +192,7 @@ public void testSwaggerResolveWithOAS31OptionTask() throws IOException { String buildFileContent = "plugins {\n" + " id 'java'\n" + - " id 'io.swagger.core.v3.swagger-gradle-plugin'\n" + + " id 'io.github.vpelikh.swagger-gradle-plugin'\n" + "}\n" + "sourceSets {\n" + " test {\n" + @@ -184,9 +208,9 @@ public void testSwaggerResolveWithOAS31OptionTask() throws IOException { "}\n" + "dependencies { \n" + " implementation '" + SWAGGER_JAXRS2_DEPENDENCY + "'\n" + - " implementation 'javax.ws.rs:javax.ws.rs-api:2.1'\n" + - " implementation 'javax.servlet:javax.servlet-api:3.1.0'\n" + - " testImplementation 'com.github.tomakehurst:wiremock:2.27.2'\n" + + " implementation 'jakarta.ws.rs:jakarta.ws.rs-api:4.0.0'\n" + + " implementation 'jakarta.servlet:jakarta.servlet-api:6.1.0'\n" + + " testImplementation 'org.wiremock:wiremock:4.0.0-beta.36'\n" + " testImplementation 'org.testng:testng:7.10.2'\n" + "\n" + "\n" + @@ -252,7 +276,7 @@ public void testSwaggerResolveTaskWithConventionDefaults() throws IOException { String buildFileContent = "plugins {\n" + " id 'java'\n" + - " id 'io.swagger.core.v3.swagger-gradle-plugin'\n" + + " id 'io.github.vpelikh.swagger-gradle-plugin'\n" + "}\n" + "sourceSets {\n" + " test {\n" + @@ -268,8 +292,8 @@ public void testSwaggerResolveTaskWithConventionDefaults() throws IOException { "}\n" + "dependencies { \n" + " implementation '" + SWAGGER_JAXRS2_DEPENDENCY + "'\n" + - " implementation 'javax.ws.rs:javax.ws.rs-api:2.1'\n" + - " implementation 'javax.servlet:javax.servlet-api:3.1.0'\n" + + " implementation 'jakarta.ws.rs:jakarta.ws.rs-api:4.0.0'\n" + + " implementation 'jakarta.servlet:jakarta.servlet-api:6.1.0'\n" + "}\n" + resolveTask + " {\n" + " outputFileName = 'PetStoreAPIDefaults'\n" + @@ -322,7 +346,7 @@ public void testSwaggerPluginAllowsDependenciesAfterResolveBlock() throws IOExce String buildFileContent = "plugins {\n" + " id 'java'\n" + - " id 'io.swagger.core.v3.swagger-gradle-plugin'\n" + + " id 'io.github.vpelikh.swagger-gradle-plugin'\n" + "}\n" + // resolve block appears BEFORE dependencies "resolve {\n" + @@ -337,8 +361,8 @@ public void testSwaggerPluginAllowsDependenciesAfterResolveBlock() throws IOExce "}\n" + "dependencies {\n" + " implementation '" + SWAGGER_JAXRS2_DEPENDENCY + "'\n" + - " implementation 'javax.ws.rs:javax.ws.rs-api:2.1'\n" + - " implementation 'javax.servlet:javax.servlet-api:3.1.0'\n" + + " implementation 'jakarta.ws.rs:jakarta.ws.rs-api:4.0.0'\n" + + " implementation 'jakarta.servlet:jakarta.servlet-api:6.1.0'\n" + " testImplementation 'org.testng:testng:7.10.2'\n" + "}\n" + "sourceSets {\n" + @@ -410,7 +434,7 @@ public void testSwaggerPluginWithMultiProjectAndApplicationPlugin() throws IOExc writeFile(apiDir.resolve("build.gradle"), "plugins {\n" + " id 'java'\n" + - " id 'io.swagger.core.v3.swagger-gradle-plugin'\n" + + " id 'io.github.vpelikh.swagger-gradle-plugin'\n" + "}\n" + "repositories {\n" + " maven { url mavenLocal().url }\n" + @@ -418,7 +442,7 @@ public void testSwaggerPluginWithMultiProjectAndApplicationPlugin() throws IOExc "}\n" + "dependencies {\n" + " implementation project(':app')\n" + - " implementation 'javax.ws.rs:javax.ws.rs-api:2.1'\n" + + " implementation 'jakarta.ws.rs:jakarta.ws.rs-api:4.0.0'\n" + "}\n" + "resolve {\n" + " resourcePackages = ['com.example.api']\n" + @@ -426,8 +450,8 @@ public void testSwaggerPluginWithMultiProjectAndApplicationPlugin() throws IOExc "}\n"); writeFile(apiDir.resolve("src/main/java/com/example/api/HelloResource.java"), "package com.example.api;\n" + - "import javax.ws.rs.GET;\n" + - "import javax.ws.rs.Path;\n" + + "import jakarta.ws.rs.GET;\n" + + "import jakarta.ws.rs.Path;\n" + "@Path(\"/hello\")\n" + "public class HelloResource {\n" + " @GET\n" + diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/PetResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/PetResource.java index ed3d916422..0c63fd3afa 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/PetResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/PetResource.java @@ -10,16 +10,16 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @Consumes("application/json") @Path("/pet") diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/ComplexCallbackResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/ComplexCallbackResource.java index 44dfc535ee..01683100c7 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/ComplexCallbackResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/ComplexCallbackResource.java @@ -9,9 +9,9 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class ComplexCallbackResource { @Callbacks({ diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/MultipleCallbacksTestWithOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/MultipleCallbacksTestWithOperationResource.java index 2ec7309b1b..99285a1556 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/MultipleCallbacksTestWithOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/MultipleCallbacksTestWithOperationResource.java @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class MultipleCallbacksTestWithOperationResource { @Callbacks({ diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/RepeatableCallbackResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/RepeatableCallbackResource.java index 82a60ca110..42bc53e22f 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/RepeatableCallbackResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/RepeatableCallbackResource.java @@ -6,8 +6,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RepeatableCallbackResource { @Callback(name = "testCallback", operation = diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/SimpleCallbackWithOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/SimpleCallbackWithOperationResource.java index 2c6e543362..1dcd1422a0 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/SimpleCallbackWithOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/callback/SimpleCallbackWithOperationResource.java @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class SimpleCallbackWithOperationResource { @Callbacks({ diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/example/ExamplesResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/example/ExamplesResource.java index 84ae58bfb7..6a16f1b645 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/example/ExamplesResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/example/ExamplesResource.java @@ -11,8 +11,8 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Examples Resource Scenario diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/link/LinksResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/link/LinksResource.java index 8450a64abf..01c06e7e62 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/link/LinksResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/link/LinksResource.java @@ -7,9 +7,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with Links diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/AnnotatedSameNameOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/AnnotatedSameNameOperationResource.java index db73258ef0..8e575296cd 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/AnnotatedSameNameOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/AnnotatedSameNameOperationResource.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ExternalDocumentationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ExternalDocumentationResource.java index a351ac68bf..3d5a2e81fb 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ExternalDocumentationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ExternalDocumentationResource.java @@ -6,10 +6,10 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Resource with Operations Examples diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/FullyAnnotatedOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/FullyAnnotatedOperationResource.java index 2955c6590e..8bc803fd5c 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/FullyAnnotatedOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/FullyAnnotatedOperationResource.java @@ -8,10 +8,10 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Resource with Operations Examples diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/HiddenOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/HiddenOperationResource.java index 730e83657d..04be1e43a5 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/HiddenOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/HiddenOperationResource.java @@ -5,8 +5,8 @@ import io.swagger.v3.plugins.gradle.resources.model.Pet; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Hidden Operation diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/InterfaceResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/InterfaceResource.java index aa5418ecc6..70cb0960af 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/InterfaceResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/InterfaceResource.java @@ -3,10 +3,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Interface resource diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/NotAnnotatedSameNameOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/NotAnnotatedSameNameOperationResource.java index e8021608de..631844d618 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/NotAnnotatedSameNameOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/NotAnnotatedSameNameOperationResource.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugins.gradle.petstore.operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationResource.java index fdc5e495ca..75ca9d8d2e 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationResource.java @@ -7,14 +7,14 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.GET; -import javax.ws.rs.HEAD; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HEAD; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; /** * Resource with Complete Operations Examples diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationWithoutAnnotationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationWithoutAnnotationResource.java index 7c4bf2cd02..91f1d349a8 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationWithoutAnnotationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/OperationWithoutAnnotationResource.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugins.gradle.petstore.operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ServerOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ServerOperationResource.java index 725fed837b..53aa7dc76c 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ServerOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/ServerOperationResource.java @@ -5,8 +5,8 @@ import io.swagger.v3.oas.annotations.servers.Server; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Hidden Operation diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/SubResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/SubResource.java index d56a767030..d64d5b1ae6 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/SubResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/operation/SubResource.java @@ -3,7 +3,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; /** * SubResource diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ArraySchemaResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ArraySchemaResource.java index 1ec07a8ce8..f445f84633 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ArraySchemaResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ArraySchemaResource.java @@ -9,9 +9,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; public class ArraySchemaResource { @Path("/arrayschema") diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterResource.java index c2ca2f84aa..d8543d078f 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a multiple annotated. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterWithOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterWithOperationResource.java index d1c36874c9..62a0c6a5c1 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterWithOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ComplexParameterWithOperationResource.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a multiple annotated. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/MultipleNotAnnotatedParameter.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/MultipleNotAnnotatedParameter.java index 7303048545..77547bc19b 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/MultipleNotAnnotatedParameter.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/MultipleNotAnnotatedParameter.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Class with a multiple not annotated parameter. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java index 9832b462db..c8054385d4 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java @@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java index 4c4f1ddc32..95a6c09126 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java index df23a83a76..53492008b8 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ParametersResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ParametersResource.java index 5a7c40cbd3..33efd86113 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ParametersResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/ParametersResource.java @@ -10,10 +10,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Resource with some Parameters examples diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/RepeatableParametersResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/RepeatableParametersResource.java index 2626f0c6ac..0472e50c92 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/RepeatableParametersResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/RepeatableParametersResource.java @@ -10,9 +10,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; public class RepeatableParametersResource { @Path("/repeatableparameter") diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleJaxRSAnnotatedParameter.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleJaxRSAnnotatedParameter.java index 29788cd9eb..98d11a0027 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleJaxRSAnnotatedParameter.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleJaxRSAnnotatedParameter.java @@ -3,9 +3,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleNotAnnotatedParameter.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleNotAnnotatedParameter.java index a322111708..023e438f82 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleNotAnnotatedParameter.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/parameter/SingleNotAnnotatedParameter.java @@ -3,8 +3,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Class with a single not annotated parameter. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyMethodPriorityResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyMethodPriorityResource.java index 6e9ee3715b..433a41288f 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyMethodPriorityResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyMethodPriorityResource.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody inside Operation and another in Method diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyParameterPriorityResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyParameterPriorityResource.java index f76a4781ae..187c2f7971 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyParameterPriorityResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyParameterPriorityResource.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody inside Operation and another in Method diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyResource.java index b2e310e0cc..016af2eef9 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/requestbody/RequestBodyResource.java @@ -7,14 +7,14 @@ import io.swagger.v3.plugins.gradle.resources.model.Pet; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody examples diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ComplexResponseResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ComplexResponseResource.java index db25ec92da..af76f6ac3b 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ComplexResponseResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ComplexResponseResource.java @@ -7,8 +7,8 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with some responses diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ImplementationResponseResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ImplementationResponseResource.java index 88c163f348..9ef7949a03 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ImplementationResponseResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/ImplementationResponseResource.java @@ -5,8 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with a Response at Method Level diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/MethodResponseResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/MethodResponseResource.java index 45eab02a09..9d006f0ec1 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/MethodResponseResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/MethodResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Response at Method Level diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoImplementationResponseResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoImplementationResponseResource.java index 6659f6babe..5f5e1dce71 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoImplementationResponseResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoImplementationResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.links.LinkParameter; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Resource with a Response at Method Level diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoResponseResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoResponseResource.java index 432b452a53..290be97f7f 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoResponseResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/NoResponseResource.java @@ -4,8 +4,8 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with a Response at Method Level diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/OperationResponseResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/OperationResponseResource.java index 38cbbc426e..7485ae6bc0 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/OperationResponseResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/OperationResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.User; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with the response in the Operation Annotation diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/PriorityResponseResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/PriorityResponseResource.java index f14c1ff364..bd52d48de1 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/PriorityResponseResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/responses/PriorityResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.plugins.gradle.resources.exception.NotFoundException; import io.swagger.v3.plugins.gradle.resources.model.Pet; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Response at Method Level and Operation Level. diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/security/SecurityResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/security/SecurityResource.java index b24bf3db65..ca4024db2d 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/security/SecurityResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/security/SecurityResource.java @@ -9,10 +9,10 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityScheme; -import javax.ws.rs.GET; -import javax.ws.rs.PATCH; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PATCH; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; @SecurityScheme(name = "myOauth2Security", type = SecuritySchemeType.OAUTH2, diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/CompleteTagResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/CompleteTagResource.java index a643d76982..beeb1acf4a 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/CompleteTagResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/CompleteTagResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @OpenAPIDefinition(tags = { @Tag(name = "Definition First Tag"), diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagMethodResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagMethodResource.java index c4c65f146c..5d14ac3067 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagMethodResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagMethodResource.java @@ -3,9 +3,9 @@ import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class TagMethodResource { @GET diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagOperationResource.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagOperationResource.java index 58d67f1b1c..7cb28f9b65 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagOperationResource.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/petstore/tags/TagOperationResource.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Tag at Operation Level diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/QueryResultBean.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/QueryResultBean.java index fb5c22b95c..e089e9af90 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/QueryResultBean.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/QueryResultBean.java @@ -1,6 +1,6 @@ package io.swagger.v3.plugins.gradle.resources; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.QueryParam; public class QueryResultBean { @QueryParam("skip") diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Category.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Category.java index 7a592e1c4e..c09b05ceda 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Category.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Category.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugins.gradle.resources.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Category") public class Category { diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ExtensionUser.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ExtensionUser.java index 5d99676071..e9779ad52f 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ExtensionUser.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ExtensionUser.java @@ -4,8 +4,8 @@ import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") @Schema( diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ListOfStringsBeanParam.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ListOfStringsBeanParam.java index d002e3c4ff..20b1ab19c8 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ListOfStringsBeanParam.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/ListOfStringsBeanParam.java @@ -1,6 +1,6 @@ package io.swagger.v3.plugins.gradle.resources.model; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.QueryParam; import java.util.List; public class ListOfStringsBeanParam { diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Pet.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Pet.java index 0cf61e4857..ef87d85889 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Pet.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Pet.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Tag.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Tag.java index c04fd01264..5db3fde140 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Tag.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/Tag.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugins.gradle.resources.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Tag") public class Tag { diff --git a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/User.java b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/User.java index 476485eba8..1aa8067413 100644 --- a/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/User.java +++ b/modules/swagger-gradle-plugin/src/test/java/io/swagger/v3/plugins/gradle/resources/model/User.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") public class User { diff --git a/modules/swagger-integration/pom.xml b/modules/swagger-integration/pom.xml index eb85271449..827b114f8e 100644 --- a/modules/swagger-integration/pom.xml +++ b/modules/swagger-integration/pom.xml @@ -4,9 +4,9 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-project - 2.2.55-SNAPSHOT + 4.0.4-SNAPSHOT ../.. swagger-integration @@ -28,12 +28,12 @@ test - io.swagger.core.v3 + io.github.vpelikh swagger-core ${project.version} - io.swagger.core.v3 + io.github.vpelikh swagger-models ${project.version} diff --git a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContext.java b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContext.java index f7681cb1ac..1a36513400 100644 --- a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContext.java +++ b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContext.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.MapperFeature; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.SerializationFeature; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.filter.OpenAPI31SpecFilter; @@ -31,10 +31,11 @@ import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Paths; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.ImmutablePair; +import io.swagger.v3.core.util.StringUtils; +import io.swagger.v3.core.util.ImmutablePair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.databind.cfg.MapperBuilder; import java.io.IOException; import java.math.BigDecimal; @@ -490,9 +491,9 @@ protected OpenAPIConfiguration loadConfiguration() throws OpenApiConfigurationEx // check known locations List> knownLocations = getKnownLocations(); for (ImmutablePair location : knownLocations) { - if (loaders.get(location.left).exists(location.right)) { + if (loaders.get(location.getLeft()).exists(location.getRight())) { try { - return loaders.get(location.left).load(location.right); + return loaders.get(location.getLeft()).load(location.getRight()); } catch (IOException ioe) { // try next one } @@ -542,34 +543,38 @@ public T init() throws OpenApiConfigurationException { } if (outputJsonMapper == null) { if (Boolean.TRUE.equals(openApiConfiguration.isOpenAPI31())) { - outputJsonMapper = Json31.mapper().copy(); + outputJsonMapper = Json31.mapper(); } else { - outputJsonMapper = Json.mapper().copy(); + outputJsonMapper = Json.mapper(); } } if (outputYamlMapper == null) { if (Boolean.TRUE.equals(openApiConfiguration.isOpenAPI31())) { - outputYamlMapper = Yaml31.mapper().copy(); + outputYamlMapper = Yaml31.mapper(); } else { - outputYamlMapper = Yaml.mapper().copy(); + outputYamlMapper = Yaml.mapper(); } } if (openApiConfiguration.isSortOutput() != null && openApiConfiguration.isSortOutput()) { - outputJsonMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); - outputJsonMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); - outputYamlMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); - outputYamlMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); + MapperBuilder> jsonMapperBuilder = outputJsonMapper.rebuild(); + MapperBuilder> yamlMapperBuilder = outputYamlMapper.rebuild(); + jsonMapperBuilder.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); + yamlMapperBuilder.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); + jsonMapperBuilder.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); + yamlMapperBuilder.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); if (Boolean.TRUE.equals(openApiConfiguration.isOpenAPI31())) { - outputJsonMapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin31.class); - outputJsonMapper.addMixIn(Schema.class, SortedSchemaMixin31.class); - outputYamlMapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin31.class); - outputYamlMapper.addMixIn(Schema.class, SortedSchemaMixin31.class); + jsonMapperBuilder.addMixIn(OpenAPI.class, SortedOpenAPIMixin31.class); + jsonMapperBuilder.addMixIn(Schema.class, SortedSchemaMixin31.class); + yamlMapperBuilder.addMixIn(OpenAPI.class, SortedOpenAPIMixin31.class); + yamlMapperBuilder.addMixIn(Schema.class, SortedSchemaMixin31.class); } else { - outputJsonMapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin.class); - outputJsonMapper.addMixIn(Schema.class, SortedSchemaMixin.class); - outputYamlMapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin.class); - outputYamlMapper.addMixIn(Schema.class, SortedSchemaMixin.class); + jsonMapperBuilder.addMixIn(OpenAPI.class, SortedOpenAPIMixin.class); + jsonMapperBuilder.addMixIn(Schema.class, SortedSchemaMixin.class); + yamlMapperBuilder.addMixIn(OpenAPI.class, SortedOpenAPIMixin.class); + yamlMapperBuilder.addMixIn(Schema.class, SortedSchemaMixin.class); } + outputJsonMapper = jsonMapperBuilder.build(); + outputYamlMapper = yamlMapperBuilder.build(); } } catch (Exception e) { LOGGER.error("error initializing context: " + e.getMessage(), e); @@ -583,8 +588,8 @@ public T init() throws OpenApiConfigurationException { objectMapperProcessor.processJsonObjectMapper(mapper); ModelConverters.getInstance(Boolean.TRUE.equals(openApiConfiguration.isOpenAPI31()), openApiConfiguration.getSchemaResolution()).addConverter(new ModelResolver(mapper)); - objectMapperProcessor.processOutputJsonObjectMapper(outputJsonMapper); - objectMapperProcessor.processOutputYamlObjectMapper(outputYamlMapper); + outputJsonMapper = objectMapperProcessor.processOutputJsonObjectMapper(outputJsonMapper); + outputYamlMapper = objectMapperProcessor.processOutputYamlObjectMapper(outputYamlMapper); } } catch (Exception e) { LOGGER.error("error configuring objectMapper: " + e.getMessage(), e); diff --git a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContextBuilder.java b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContextBuilder.java index 9148bc27a9..92d00f5080 100644 --- a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContextBuilder.java +++ b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContextBuilder.java @@ -3,7 +3,7 @@ import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; import io.swagger.v3.oas.integration.api.OpenApiContext; import io.swagger.v3.oas.integration.api.OpenApiContextBuilder; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.Set; diff --git a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiScanner.java b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiScanner.java index c4db1f3a8f..d51af6fb74 100644 --- a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiScanner.java +++ b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiScanner.java @@ -6,7 +6,7 @@ import io.swagger.v3.oas.annotations.Webhooks; import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; import io.swagger.v3.oas.integration.api.OpenApiScanner; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IgnoredPackages.java b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IgnoredPackages.java index 0e922701a9..fd3305833f 100644 --- a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IgnoredPackages.java +++ b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IgnoredPackages.java @@ -8,7 +8,7 @@ public final class IgnoredPackages { public static final Set ignored = new HashSet<>(); static { - ignored.add("io.swagger.v3.jaxrs2.integration.resources"); + ignored.add("io.swagger.v3.jakartarest.integration.resources"); ignored.add("org.glassfish.jersey"); ignored.add("org.jboss.resteasy"); ignored.add("com.sun.jersey"); diff --git a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IntegrationObjectMapperFactory.java b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IntegrationObjectMapperFactory.java index b4a481b911..b638d90e78 100644 --- a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IntegrationObjectMapperFactory.java +++ b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/IntegrationObjectMapperFactory.java @@ -1,6 +1,6 @@ package io.swagger.v3.oas.integration; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.util.ObjectMapperFactory; public class IntegrationObjectMapperFactory extends ObjectMapperFactory { diff --git a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/ObjectMapperProcessor.java b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/ObjectMapperProcessor.java index 0c25399a21..a748891d9b 100644 --- a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/ObjectMapperProcessor.java +++ b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/ObjectMapperProcessor.java @@ -1,6 +1,6 @@ package io.swagger.v3.oas.integration.api; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; /** * @since 2.0.6 @@ -17,14 +17,17 @@ public interface ObjectMapperProcessor { default void processYamlObjectMapper(ObjectMapper mapper) {} /** + * @return * @since 2.1.6 */ - default void processOutputJsonObjectMapper(ObjectMapper mapper) {} + default ObjectMapper processOutputJsonObjectMapper(ObjectMapper mapper) { + return mapper; + } /** * @since 2.1.6 */ - default void processOutputYamlObjectMapper(ObjectMapper mapper) { - processOutputJsonObjectMapper(mapper); + default ObjectMapper processOutputYamlObjectMapper(ObjectMapper mapper) { + return processOutputJsonObjectMapper(mapper); } } diff --git a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/OpenApiContext.java b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/OpenApiContext.java index 31b4dce94a..57671c4364 100644 --- a/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/OpenApiContext.java +++ b/modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/api/OpenApiContext.java @@ -1,6 +1,6 @@ package io.swagger.v3.oas.integration.api; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.oas.integration.OpenApiConfigurationException; import io.swagger.v3.oas.models.OpenAPI; diff --git a/modules/swagger-jaxrs2-servlet-initializer/pom.xml b/modules/swagger-jakarta-rest-servlet-initializer/pom.xml similarity index 85% rename from modules/swagger-jaxrs2-servlet-initializer/pom.xml rename to modules/swagger-jakarta-rest-servlet-initializer/pom.xml index 1bb641c5c9..4baa076943 100644 --- a/modules/swagger-jaxrs2-servlet-initializer/pom.xml +++ b/modules/swagger-jakarta-rest-servlet-initializer/pom.xml @@ -4,13 +4,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> swagger-project - io.swagger.core.v3 - 2.2.55-SNAPSHOT + io.github.vpelikh + 4.0.4-SNAPSHOT ../../ 4.0.0 - swagger-jaxrs2-servlet-initializer - swagger-jaxrs2-servlet-initializer + swagger-jakarta-rest-servlet-initializer + swagger-jakarta-rest-servlet-initializer swagger-servlet-initializer src/main/java @@ -24,11 +24,6 @@ biz.aQute.bnd bnd-maven-plugin - - - Export-Package: io.swagger.v3.jaxrs2.integration - - org.apache.maven.plugins @@ -37,7 +32,7 @@ ${project.build.outputDirectory}/META-INF/MANIFEST.MF - io.swagger.v3.jaxrs2.integration + io.swagger.v3.jakartarest.integration.servlet @@ -81,20 +76,24 @@ - org.eclipse.jetty - jetty-maven-plugin + org.eclipse.jetty.ee11 + jetty-ee11-maven-plugin - 10 + 10 ${jetty.port} a ${jetty.port.stop} true - ${project.basedir}/src/test/webapp + + + ${project.basedir}/src/test/webapp + + - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} @@ -106,7 +105,7 @@ start - 0 + 0 @@ -143,8 +142,8 @@ provided - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} provided @@ -176,7 +175,7 @@ org.glassfish.jersey.core jersey-server - ${jersey2-version} + ${jersey-version} test diff --git a/modules/swagger-jaxrs2-servlet-initializer-v2/src/main/java/io/swagger/v3/jaxrs2/integration/servlet/SwaggerServletInitializer.java b/modules/swagger-jakarta-rest-servlet-initializer/src/main/java/io/swagger/v3/jakartarest/integration/servlet/SwaggerServletInitializer.java similarity index 82% rename from modules/swagger-jaxrs2-servlet-initializer-v2/src/main/java/io/swagger/v3/jaxrs2/integration/servlet/SwaggerServletInitializer.java rename to modules/swagger-jakarta-rest-servlet-initializer/src/main/java/io/swagger/v3/jakartarest/integration/servlet/SwaggerServletInitializer.java index ad7a0349fe..b314f2d147 100644 --- a/modules/swagger-jaxrs2-servlet-initializer-v2/src/main/java/io/swagger/v3/jaxrs2/integration/servlet/SwaggerServletInitializer.java +++ b/modules/swagger-jakarta-rest-servlet-initializer/src/main/java/io/swagger/v3/jakartarest/integration/servlet/SwaggerServletInitializer.java @@ -1,18 +1,18 @@ -package io.swagger.v3.jaxrs2.integration.servlet; +package io.swagger.v3.jakartarest.integration.servlet; -import io.swagger.v3.jaxrs2.integration.JaxrsOpenApiContextBuilder; +import io.swagger.v3.jakartarest.integration.JaxrsOpenApiContextBuilder; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Webhooks; import io.swagger.v3.oas.integration.IgnoredPackages; import io.swagger.v3.oas.integration.OpenApiConfigurationException; import io.swagger.v3.oas.integration.SwaggerConfiguration; -import javax.servlet.ServletContainerInitializer; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.annotation.HandlesTypes; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.Path; +import jakarta.servlet.ServletContainerInitializer; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.HandlesTypes; +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.Path; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; diff --git a/modules/swagger-jakarta-rest-servlet-initializer/src/test/webapp/web.xml b/modules/swagger-jakarta-rest-servlet-initializer/src/test/webapp/web.xml new file mode 100644 index 0000000000..92241229f0 --- /dev/null +++ b/modules/swagger-jakarta-rest-servlet-initializer/src/test/webapp/web.xml @@ -0,0 +1,7 @@ + + + swagger-jakarta-rest-servlet-initializer + diff --git a/modules/swagger-jaxrs2/pom.xml b/modules/swagger-jakarta-rest/pom.xml similarity index 85% rename from modules/swagger-jaxrs2/pom.xml rename to modules/swagger-jakarta-rest/pom.xml index fa46e31a78..fc5bcb9b1f 100644 --- a/modules/swagger-jaxrs2/pom.xml +++ b/modules/swagger-jakarta-rest/pom.xml @@ -4,14 +4,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> swagger-project - io.swagger.core.v3 - 2.2.55-SNAPSHOT + io.github.vpelikh + 4.0.4-SNAPSHOT ../../ 4.0.0 - swagger-jaxrs2 - swagger-jaxrs2 - swagger-jaxrs2 + swagger-jakarta-rest + swagger-jakarta-rest + swagger-jakarta-rest src/main/java install @@ -32,7 +32,7 @@ ${project.build.outputDirectory}/META-INF/MANIFEST.MF - io.swagger.v3.jaxrs2 + io.swagger.v3.jakartarest @@ -58,18 +58,22 @@ - org.eclipse.jetty - jetty-maven-plugin + org.eclipse.jetty.ee11 + jetty-ee11-maven-plugin - 10 + 10 ${jetty.port} a ${jetty.port.stop} jar + + + ${project.basedir}/src/test/webapp + + true - ${project.basedir}/src/test/webapp @@ -79,7 +83,7 @@ start - 0 + 0 @@ -147,7 +151,7 @@ provided - com.fasterxml.jackson.core + tools.jackson.core jackson-databind @@ -157,29 +161,29 @@ org.javassist javassist - 3.30.2-GA + 3.32.0-GA commons-io commons-io - io.swagger.core.v3 + io.github.vpelikh swagger-models ${project.version} - org.yaml - snakeyaml - ${snakeyaml-version} + org.snakeyaml + snakeyaml-engine + ${snakeyaml-engine-version} - io.swagger.core.v3 + io.github.vpelikh swagger-annotations ${project.version} - io.swagger.core.v3 + io.github.vpelikh swagger-integration ${project.version} @@ -214,21 +218,21 @@ test - org.jboss.weld + org.jboss.weld weld-core-impl - 3.1.9.Final + 6.0.4.Final test org.jboss.arquillian.testng arquillian-testng-container - 1.9.3.Final + 1.10.2.Final test - org.jboss.arquillian.container + org.jboss.arquillian.container arquillian-weld-embedded - 2.1.0.Final + 4.0.0.Final test @@ -248,7 +252,7 @@ org.glassfish.jersey.containers jersey-container-servlet - ${jersey2-version} + ${jersey-version} test @@ -264,7 +268,7 @@ org.glassfish.jersey.media jersey-media-multipart - ${jersey2-version} + ${jersey-version} test @@ -280,7 +284,7 @@ org.glassfish.jersey.inject jersey-hk2 - ${jersey2-version} + ${jersey-version} test @@ -294,9 +298,18 @@ - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider + tools.jackson.jakarta.rs + jackson-jakarta-rs-json-provider ${jackson-version} + + tools.jackson.module + jackson-module-jakarta-xmlbind-annotations + ${jackson-version} + + + + + diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/DefaultParameterExtension.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/DefaultParameterExtension.java similarity index 79% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/DefaultParameterExtension.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/DefaultParameterExtension.java index bf6bd03dff..4c6a95466b 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/DefaultParameterExtension.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/DefaultParameterExtension.java @@ -1,35 +1,36 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import com.fasterxml.jackson.annotation.JsonView; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.introspect.AnnotatedField; -import com.fasterxml.jackson.databind.introspect.AnnotatedMethod; -import com.fasterxml.jackson.databind.introspect.AnnotationMap; -import com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition; +import tools.jackson.databind.BeanDescription; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.introspect.AnnotatedField; +import tools.jackson.databind.introspect.AnnotatedMethod; +import tools.jackson.databind.introspect.AnnotationMap; +import tools.jackson.databind.introspect.BeanPropertyDefinition; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.ParameterProcessor; -import io.swagger.v3.jaxrs2.ext.AbstractOpenAPIExtension; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtension; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtensions; +import io.swagger.v3.jakartarest.ext.AbstractOpenAPIExtension; +import io.swagger.v3.jakartarest.ext.OpenAPIExtension; +import io.swagger.v3.jakartarest.ext.OpenAPIExtensions; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.parameters.Parameter; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.ws.rs.BeanParam; -import javax.ws.rs.CookieParam; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; -import javax.ws.rs.MatrixParam; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.CookieParam; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.MatrixParam; import java.lang.annotation.Annotation; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.stream.Stream; public class DefaultParameterExtension extends AbstractOpenAPIExtension { private static final String QUERY_PARAM = "query"; @@ -44,8 +45,8 @@ public ResolvedParameter extractParameters(List annotations, Type type, Set typesToSkip, Components components, - javax.ws.rs.Consumes classConsumes, - javax.ws.rs.Consumes methodConsumes, + jakarta.ws.rs.Consumes classConsumes, + jakarta.ws.rs.Consumes methodConsumes, boolean includeRequestBody, JsonView jsonViewAnnotation, Iterator chain) { @@ -160,12 +161,12 @@ public ResolvedParameter extractParameters(List annotations, */ private boolean handleAdditionalAnnotation(List parameters, List formParameters, Annotation annotation, - final Type type, Set typesToSkip, javax.ws.rs.Consumes classConsumes, - javax.ws.rs.Consumes methodConsumes, Components components, boolean includeRequestBody, JsonView jsonViewAnnotation) { + final Type type, Set typesToSkip, jakarta.ws.rs.Consumes classConsumes, + jakarta.ws.rs.Consumes methodConsumes, Components components, boolean includeRequestBody, JsonView jsonViewAnnotation) { boolean processed = false; if (BeanParam.class.isAssignableFrom(annotation.getClass())) { // Use Jackson's logic for processing Beans - final BeanDescription beanDesc = mapper.getSerializationConfig().introspect(constructType(type)); + final BeanDescription beanDesc = mapper._serializationContext().introspectBeanDescription(constructType(type)); final List properties = beanDesc.findProperties(); for (final BeanPropertyDefinition propDef : properties) { @@ -179,14 +180,9 @@ private boolean handleAdditionalAnnotation(List parameters, List !paramAnnotations.contains(fieldAnnotation)) + .forEach(paramAnnotations::add); } // Gather the setter's details but only the ones we need @@ -196,14 +192,9 @@ private boolean handleAdditionalAnnotation(List parameters, List !paramAnnotations.contains(fieldAnnotation)) + .forEach(paramAnnotations::add); } // Gather the getter's details but only the ones we need @@ -212,14 +203,9 @@ private boolean handleAdditionalAnnotation(List parameters, List !paramAnnotations.contains(fieldAnnotation)) + .forEach(paramAnnotations::add); } if (paramType == null) { @@ -280,7 +266,7 @@ private boolean handleAdditionalAnnotation(List parameters, List cls) { - return cls.getName().startsWith("javax.ws.rs."); + return cls.getName().startsWith("jakarta.ws.rs."); } } diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/OperationParser.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/OperationParser.java similarity index 97% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/OperationParser.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/OperationParser.java index 599d1cd49d..fc2cabd0b9 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/OperationParser.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/OperationParser.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import com.fasterxml.jackson.annotation.JsonView; import io.swagger.v3.core.util.AnnotationsUtils; @@ -7,10 +7,10 @@ import io.swagger.v3.oas.models.parameters.RequestBody; import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.ws.rs.Consumes; -import javax.ws.rs.Produces; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.Produces; import java.util.Map; import java.util.Optional; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/Reader.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/Reader.java similarity index 96% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/Reader.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/Reader.java index b15115aaf7..a1ae4aa2c1 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/Reader.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/Reader.java @@ -1,11 +1,12 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import com.fasterxml.jackson.annotation.JsonView; -import com.fasterxml.jackson.databind.BeanDescription; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.introspect.AnnotatedMethod; -import com.fasterxml.jackson.databind.introspect.AnnotatedParameter; -import com.fasterxml.jackson.databind.type.TypeFactory; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.BeanDescription; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.introspect.AnnotatedMethod; +import tools.jackson.databind.introspect.AnnotatedParameter; +import tools.jackson.databind.type.TypeFactory; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.converter.ResolvedSchema; @@ -16,9 +17,9 @@ import io.swagger.v3.core.util.ParameterProcessor; import io.swagger.v3.core.util.PathUtils; import io.swagger.v3.core.util.ReflectionUtils; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtension; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtensions; -import io.swagger.v3.jaxrs2.util.ReaderUtils; +import io.swagger.v3.jakartarest.ext.OpenAPIExtension; +import io.swagger.v3.jakartarest.ext.OpenAPIExtensions; +import io.swagger.v3.jakartarest.util.ReaderUtils; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.OpenAPIDefinition; @@ -45,14 +46,14 @@ import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import io.swagger.v3.oas.models.tags.Tag; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.Consumes; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Application; import java.io.IOException; import java.lang.annotation.Annotation; import java.lang.reflect.Method; @@ -286,7 +287,7 @@ public OpenAPI read(Class cls, Hidden hidden = cls.getAnnotation(Hidden.class); // class path - final javax.ws.rs.Path apiPath = ReflectionUtils.getAnnotation(cls, javax.ws.rs.Path.class); + final jakarta.ws.rs.Path apiPath = ReflectionUtils.getAnnotation(cls, jakarta.ws.rs.Path.class); final boolean openapi31 = Boolean.TRUE.equals(config.isOpenAPI31()); if ( @@ -314,8 +315,8 @@ public OpenAPI read(Class cls, io.swagger.v3.oas.annotations.tags.Tag[] apiTags = ReflectionUtils.getRepeatableAnnotationsArray(cls, io.swagger.v3.oas.annotations.tags.Tag.class); io.swagger.v3.oas.annotations.servers.Server[] apiServers = ReflectionUtils.getRepeatableAnnotationsArray(cls, io.swagger.v3.oas.annotations.servers.Server.class); - javax.ws.rs.Consumes classConsumes = ReflectionUtils.getAnnotation(cls, javax.ws.rs.Consumes.class); - javax.ws.rs.Produces classProduces = ReflectionUtils.getAnnotation(cls, javax.ws.rs.Produces.class); + jakarta.ws.rs.Consumes classConsumes = ReflectionUtils.getAnnotation(cls, jakarta.ws.rs.Consumes.class); + jakarta.ws.rs.Produces classProduces = ReflectionUtils.getAnnotation(cls, jakarta.ws.rs.Produces.class); boolean classDeprecated = ReflectionUtils.getAnnotation(cls, Deprecated.class) != null || (KotlinDetector.isKotlinPresent() && ReflectionUtils.getAnnotation(cls, KotlinDetector.getKotlinDeprecated()) != null); @@ -412,12 +413,12 @@ public OpenAPI read(Class cls, Optional classExternalDocumentation = AnnotationsUtils.getExternalDocumentation(apiExternalDocs); - JavaType classType = TypeFactory.defaultInstance().constructType(cls); + JavaType classType = TypeFactory.createDefaultInstance().constructType(cls); BeanDescription bd; if (openapi31) { - bd = Json31.mapper().getSerializationConfig().introspect(classType); + bd = Json31.mapper()._serializationContext().introspectBeanDescription(classType); } else { - bd = Json.mapper().getSerializationConfig().introspect(classType); + bd = Json.mapper()._serializationContext().introspectBeanDescription(classType); } final List globalParameters = new ArrayList<>(); @@ -440,8 +441,8 @@ public OpenAPI read(Class cls, continue; } AnnotatedMethod annotatedMethod = bd.findMethod(method.getName(), method.getParameterTypes()); - javax.ws.rs.Produces methodProduces = ReflectionUtils.getAnnotation(method, javax.ws.rs.Produces.class); - javax.ws.rs.Consumes methodConsumes = ReflectionUtils.getAnnotation(method, javax.ws.rs.Consumes.class); + jakarta.ws.rs.Produces methodProduces = ReflectionUtils.getAnnotation(method, jakarta.ws.rs.Produces.class); + jakarta.ws.rs.Consumes methodConsumes = ReflectionUtils.getAnnotation(method, jakarta.ws.rs.Consumes.class); if (isMethodOverridden(method, cls)) { continue; @@ -450,7 +451,7 @@ public OpenAPI read(Class cls, boolean methodDeprecated = ReflectionUtils.getAnnotation(method, Deprecated.class) != null || (KotlinDetector.isKotlinPresent() && ReflectionUtils.getAnnotation(method, KotlinDetector.getKotlinDeprecated()) != null); - javax.ws.rs.Path methodPath = ReflectionUtils.getAnnotation(method, javax.ws.rs.Path.class); + jakarta.ws.rs.Path methodPath = ReflectionUtils.getAnnotation(method, jakarta.ws.rs.Path.class); String operationPath = ReaderUtils.getPath(apiPath, methodPath, parentPath, isSubresource); @@ -539,7 +540,7 @@ public OpenAPI read(Class cls, if (annotatedMethod == null) { // annotatedMethod not null only when method with 0-2 parameters Type[] genericParameterTypes = method.getGenericParameterTypes(); for (int i = 0; i < genericParameterTypes.length; i++) { - final Type type = TypeFactory.defaultInstance().constructType(genericParameterTypes[i], cls); + final Type type = TypeFactory.createDefaultInstance().constructType(genericParameterTypes[i]); io.swagger.v3.oas.annotations.Parameter paramAnnotation = AnnotationsUtils.getAnnotation(io.swagger.v3.oas.annotations.Parameter.class, paramAnnotations[i]); Type paramType = ParameterProcessor.getParameterType(paramAnnotation, true); if (paramType == null) { @@ -569,7 +570,7 @@ public OpenAPI read(Class cls, } else { for (int i = 0; i < annotatedMethod.getParameterCount(); i++) { AnnotatedParameter param = annotatedMethod.getParameter(i); - final Type type = TypeFactory.defaultInstance().constructType(param.getParameterType(), cls); + final Type type = TypeFactory.createDefaultInstance().constructType(param.getType()); io.swagger.v3.oas.annotations.Parameter paramAnnotation = AnnotationsUtils.getAnnotation(io.swagger.v3.oas.annotations.Parameter.class, paramAnnotations[i]); Type paramType = ParameterProcessor.getParameterType(paramAnnotation, true); if (paramType == null) { @@ -857,8 +858,8 @@ protected void processRequestBody(Parameter requestBodyParameter, Operation oper encoding != null && !encoding.isEmpty()) { Content content = operation.getRequestBody().getContent(); for (String mediaKey: content.keySet()) { - if (mediaKey.equals(javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED) || - mediaKey.equals(javax.ws.rs.core.MediaType.MULTIPART_FORM_DATA)) { + if (mediaKey.equals(jakarta.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED) || + mediaKey.equals(jakarta.ws.rs.core.MediaType.MULTIPART_FORM_DATA)) { MediaType m = content.get(mediaKey); m.encoding(encoding); } @@ -888,7 +889,7 @@ public Operation parseMethod( Method method, List globalParameters, JsonView jsonViewAnnotation) { - JavaType classType = TypeFactory.defaultInstance().constructType(method.getDeclaringClass()); + JavaType classType = TypeFactory.createDefaultInstance().constructType(method.getDeclaringClass()); return parseMethod( classType.getClass(), method, @@ -925,7 +926,7 @@ public Operation parseMethod( ApiResponses parentResponses, JsonView jsonViewAnnotation, io.swagger.v3.oas.annotations.responses.ApiResponse[] classResponses) { - JavaType classType = TypeFactory.defaultInstance().constructType(method.getDeclaringClass()); + JavaType classType = TypeFactory.createDefaultInstance().constructType(method.getDeclaringClass()); return parseMethod( classType.getClass(), method, @@ -963,7 +964,7 @@ public Operation parseMethod( JsonView jsonViewAnnotation, io.swagger.v3.oas.annotations.responses.ApiResponse[] classResponses, AnnotatedMethod annotatedMethod) { - JavaType classType = TypeFactory.defaultInstance().constructType(method.getDeclaringClass()); + JavaType classType = TypeFactory.createDefaultInstance().constructType(method.getDeclaringClass()); return parseMethod( classType.getClass(), method, @@ -1265,7 +1266,7 @@ private MediaType clone(MediaType mediaType) { } else { mediaType = Json.mapper().readValue(Json.pretty(mediaType), MediaType.class); } - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Could not clone mediaType", e); } return mediaType; @@ -1327,7 +1328,7 @@ private boolean shouldIgnoreClass(String className) { rawClassName = className.replace("[simple type, class ", ""); rawClassName = rawClassName.substring(0, rawClassName.length() -1); } - ignore = rawClassName.startsWith("javax.ws.rs."); + ignore = rawClassName.startsWith("jakarta.ws.rs."); ignore = ignore || rawClassName.equalsIgnoreCase("void"); ignore = ignore || ModelConverters.getInstance(config.toConfiguration()).isRegisteredAsSkippedClass(rawClassName); return ignore; @@ -1524,8 +1525,8 @@ protected Optional> getParametersListFromAnnotation(io.swagger.v return Optional.of(parametersObject); } - protected ResolvedParameter getParameters(Type type, List annotations, Operation operation, javax.ws.rs.Consumes classConsumes, - javax.ws.rs.Consumes methodConsumes, JsonView jsonViewAnnotation) { + protected ResolvedParameter getParameters(Type type, List annotations, Operation operation, jakarta.ws.rs.Consumes classConsumes, + jakarta.ws.rs.Consumes methodConsumes, JsonView jsonViewAnnotation) { final Iterator chain = OpenAPIExtensions.chain(); if (!chain.hasNext()) { return new ResolvedParameter(); @@ -1680,7 +1681,7 @@ protected Class getSubResourceWithJaxRsSubresourceLocatorSpecs(Method method) type = rawType; } - if (method.getAnnotation(javax.ws.rs.Path.class) != null) { + if (method.getAnnotation(jakarta.ws.rs.Path.class) != null) { if (ReaderUtils.extractOperationMethod(method, null) == null) { return type; } diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ReaderListener.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ReaderListener.java similarity index 97% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ReaderListener.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ReaderListener.java index 8b7764c40b..df9e14f66c 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ReaderListener.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ReaderListener.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.oas.integration.api.OpenApiReader; import io.swagger.v3.oas.models.OpenAPI; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ResolvedParameter.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ResolvedParameter.java similarity index 89% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ResolvedParameter.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ResolvedParameter.java index cb7f15837d..f6dbd16d0f 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ResolvedParameter.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ResolvedParameter.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.oas.models.parameters.Parameter; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/SecurityParser.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/SecurityParser.java similarity index 99% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/SecurityParser.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/SecurityParser.java index 0d3eba846e..aeb743b37e 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/SecurityParser.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/SecurityParser.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.core.util.AnnotationsUtils; import io.swagger.v3.oas.annotations.security.OAuthScope; @@ -7,7 +7,7 @@ import io.swagger.v3.oas.models.security.Scopes; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.ArrayList; import java.util.Arrays; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/SwaggerSerializers.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/SwaggerSerializers.java similarity index 94% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/SwaggerSerializers.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/SwaggerSerializers.java index 78df2ee9c0..66f0821f1e 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/SwaggerSerializers.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/SwaggerSerializers.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Json31; @@ -6,11 +6,11 @@ import io.swagger.v3.core.util.Yaml31; import io.swagger.v3.oas.models.OpenAPI; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.ext.MessageBodyWriter; +import jakarta.ws.rs.ext.Provider; import java.io.IOException; import java.io.OutputStream; import java.lang.annotation.Annotation; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/AbstractOpenAPIExtension.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/AbstractOpenAPIExtension.java similarity index 85% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/AbstractOpenAPIExtension.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/AbstractOpenAPIExtension.java index a645766c3c..6adf64a5f7 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/AbstractOpenAPIExtension.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/AbstractOpenAPIExtension.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.ext; +package io.swagger.v3.jakartarest.ext; import com.fasterxml.jackson.annotation.JsonView; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.type.TypeFactory; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.type.TypeFactory; import io.swagger.v3.core.util.Configuration; -import io.swagger.v3.jaxrs2.ResolvedParameter; +import io.swagger.v3.jakartarest.ResolvedParameter; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.media.Schema; @@ -33,8 +33,8 @@ public String extractOperationMethod(Method method, Iterator c @Override public ResolvedParameter extractParameters(List annotations, Type type, Set typesToSkip, - Components components, javax.ws.rs.Consumes classConsumes, - javax.ws.rs.Consumes methodConsumes, boolean includeRequestBody, JsonView jsonViewAnnotation, Iterator chain) { + Components components, jakarta.ws.rs.Consumes classConsumes, + jakarta.ws.rs.Consumes methodConsumes, boolean includeRequestBody, JsonView jsonViewAnnotation, Iterator chain) { if (chain.hasNext()) { return chain.next().extractParameters(annotations, type, typesToSkip, components, classConsumes, methodConsumes, includeRequestBody, jsonViewAnnotation, chain); } else { @@ -65,7 +65,7 @@ protected boolean shouldIgnoreType(Type type, Set typesToSkip) { } protected JavaType constructType(Type type) { - return TypeFactory.defaultInstance().constructType(type); + return TypeFactory.createDefaultInstance().constructType(type); } @Override diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/OpenAPIExtension.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/OpenAPIExtension.java similarity index 81% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/OpenAPIExtension.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/OpenAPIExtension.java index 7d23bba881..1ac482452c 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/OpenAPIExtension.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/OpenAPIExtension.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.ext; +package io.swagger.v3.jakartarest.ext; import com.fasterxml.jackson.annotation.JsonView; import io.swagger.v3.core.util.Configuration; -import io.swagger.v3.jaxrs2.ResolvedParameter; +import io.swagger.v3.jakartarest.ResolvedParameter; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.media.Schema; @@ -19,7 +19,7 @@ public interface OpenAPIExtension { String extractOperationMethod(Method method, Iterator chain); ResolvedParameter extractParameters(List annotations, Type type, Set typesToSkip, Components components, - javax.ws.rs.Consumes classConsumes, javax.ws.rs.Consumes methodConsumes, boolean includeRequestBody, JsonView jsonViewAnnotation, Iterator chain); + jakarta.ws.rs.Consumes classConsumes, jakarta.ws.rs.Consumes methodConsumes, boolean includeRequestBody, JsonView jsonViewAnnotation, Iterator chain); /** * Decorates operation with additional vendor based extensions. diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/OpenAPIExtensions.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/OpenAPIExtensions.java similarity index 91% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/OpenAPIExtensions.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/OpenAPIExtensions.java index f5bfa7b3b7..796283fa30 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/ext/OpenAPIExtensions.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/ext/OpenAPIExtensions.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.ext; +package io.swagger.v3.jakartarest.ext; -import io.swagger.v3.jaxrs2.DefaultParameterExtension; +import io.swagger.v3.jakartarest.DefaultParameterExtension; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsAnnotationScanner.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsAnnotationScanner.java similarity index 93% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsAnnotationScanner.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsAnnotationScanner.java index 155ec649ae..2d1ae5aa99 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsAnnotationScanner.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsAnnotationScanner.java @@ -1,19 +1,19 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.github.classgraph.ClassGraph; import io.github.classgraph.ScanResult; -import io.swagger.v3.jaxrs2.integration.api.JaxrsOpenApiScanner; +import io.swagger.v3.jakartarest.integration.api.JaxrsOpenApiScanner; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Webhooks; import io.swagger.v3.oas.integration.IgnoredPackages; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -92,7 +92,7 @@ public Set> classes() { } final Set> classes; try (ScanResult scanResult = graph.scan()) { - classes = new HashSet<>(scanResult.getClassesWithAnnotation(javax.ws.rs.Path.class.getName()).loadClasses()); + classes = new HashSet<>(scanResult.getClassesWithAnnotation(jakarta.ws.rs.Path.class.getName()).loadClasses()); classes.addAll(new HashSet<>(scanResult.getClassesWithAnnotation(OpenAPIDefinition.class.getName()).loadClasses())); classes.addAll(new HashSet<>(scanResult.getClassesWithAnnotation(Webhooks.class.getName()).loadClasses())); if (Boolean.TRUE.equals(openApiConfiguration.isAlwaysResolveAppPath())) { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndAnnotationScanner.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndAnnotationScanner.java similarity index 95% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndAnnotationScanner.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndAnnotationScanner.java index 1cc4609d34..1c8037b7d8 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndAnnotationScanner.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndAnnotationScanner.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import java.util.HashSet; import java.util.Set; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndResourcePackagesAnnotationScanner.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndResourcePackagesAnnotationScanner.java similarity index 96% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndResourcePackagesAnnotationScanner.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndResourcePackagesAnnotationScanner.java index 908abfbcad..2b1c88425b 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndResourcePackagesAnnotationScanner.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndResourcePackagesAnnotationScanner.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import java.util.HashSet; import java.util.Set; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationScanner.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationScanner.java similarity index 95% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationScanner.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationScanner.java index d08589f9e0..823c004094 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationScanner.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationScanner.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import java.util.HashSet; import java.util.Set; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsOpenApiContext.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsOpenApiContext.java similarity index 89% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsOpenApiContext.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsOpenApiContext.java index c051ffd20c..7fccad984b 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsOpenApiContext.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsOpenApiContext.java @@ -1,17 +1,17 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; -import io.swagger.v3.jaxrs2.Reader; -import io.swagger.v3.jaxrs2.integration.api.JaxrsOpenApiScanner; +import io.swagger.v3.jakartarest.Reader; +import io.swagger.v3.jakartarest.integration.api.JaxrsOpenApiScanner; import io.swagger.v3.oas.integration.GenericOpenApiContext; import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; import io.swagger.v3.oas.integration.api.OpenApiContext; import io.swagger.v3.oas.integration.api.OpenApiReader; import io.swagger.v3.oas.integration.api.OpenApiScanner; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.core.Application; public class JaxrsOpenApiContext extends GenericOpenApiContext implements OpenApiContext { Logger LOGGER = LoggerFactory.getLogger(JaxrsOpenApiContext.class); diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsOpenApiContextBuilder.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsOpenApiContextBuilder.java similarity index 93% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsOpenApiContextBuilder.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsOpenApiContextBuilder.java index be873bfbb6..e90026859e 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/JaxrsOpenApiContextBuilder.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/JaxrsOpenApiContextBuilder.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.swagger.v3.oas.integration.GenericOpenApiContextBuilder; import io.swagger.v3.oas.integration.OpenApiConfigurationException; import io.swagger.v3.oas.integration.OpenApiContextLocator; import io.swagger.v3.oas.integration.api.OpenApiContext; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.servlet.ServletConfig; -import javax.ws.rs.core.Application; +import jakarta.servlet.ServletConfig; +import jakarta.ws.rs.core.Application; public class JaxrsOpenApiContextBuilder extends GenericOpenApiContextBuilder { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/OpenApiServlet.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/OpenApiServlet.java similarity index 88% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/OpenApiServlet.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/OpenApiServlet.java index 7254b4e880..8f7a9c01b0 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/OpenApiServlet.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/OpenApiServlet.java @@ -1,25 +1,25 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.swagger.v3.core.filter.OpenAPISpecFilter; import io.swagger.v3.core.filter.SpecFilter; -import io.swagger.v3.jaxrs2.util.ServletUtils; +import io.swagger.v3.jakartarest.util.ServletUtils; import io.swagger.v3.oas.integration.OpenApiConfigurationException; import io.swagger.v3.oas.integration.OpenApiContextLocator; import io.swagger.v3.oas.integration.api.OpenApiContext; import io.swagger.v3.oas.models.OpenAPI; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.getContextIdFromServletConfig; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.getContextIdFromServletConfig; public class OpenApiServlet extends HttpServlet { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletConfigContextUtils.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletConfigContextUtils.java similarity index 98% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletConfigContextUtils.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletConfigContextUtils.java index 9fa6b3a3ab..ab1b47f489 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletConfigContextUtils.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletConfigContextUtils.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.swagger.v3.oas.integration.api.OpenApiContext; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.servlet.ServletConfig; +import jakarta.servlet.ServletConfig; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletOpenApiConfigurationLoader.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletOpenApiConfigurationLoader.java similarity index 73% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletOpenApiConfigurationLoader.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletOpenApiConfigurationLoader.java index 36a21d48e1..ae92e305a0 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletOpenApiConfigurationLoader.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletOpenApiConfigurationLoader.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.swagger.v3.core.util.Configuration; import io.swagger.v3.oas.integration.ClasspathOpenApiConfigurationLoader; @@ -8,37 +8,37 @@ import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; import io.swagger.v3.oas.integration.api.OpenApiConfigurationLoader; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.ServletConfig; +import jakarta.servlet.ServletConfig; import java.io.IOException; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_BUILDER_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_CACHE_TTL_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_FILTER_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_OBJECT_MAPPER_PROCESSOR_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_DEFAULT_RESPONSE_CODE_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_GROUPS_VALIDATION_STRATEGY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_VALIDATOR_PROCESSOR_CLASS; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_OPENAPI_31_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_CONVERT_TO_OPENAPI_31_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_PRETTYPRINT_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_READALLRESOURCES_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_READER_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SCANNER_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SCHEMA_RESOLUTION_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_OPENAPI_VERSION_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SKIPRESOLVEAPPPATH_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SORTOUTPUT_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_ALWAYSRESOLVEAPPPATH_KEY; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.getBooleanInitParam; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.getInitParam; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.getLongInitParam; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.resolveModelConverterClasses; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.resolveResourceClasses; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.resolveResourcePackages; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_BUILDER_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_CACHE_TTL_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_FILTER_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_OBJECT_MAPPER_PROCESSOR_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_DEFAULT_RESPONSE_CODE_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_GROUPS_VALIDATION_STRATEGY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_VALIDATOR_PROCESSOR_CLASS; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_OPENAPI_31_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_CONVERT_TO_OPENAPI_31_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_PRETTYPRINT_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_READALLRESOURCES_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_READER_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SCANNER_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SCHEMA_RESOLUTION_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_OPENAPI_VERSION_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SKIPRESOLVEAPPPATH_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_SORTOUTPUT_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.OPENAPI_CONFIGURATION_ALWAYSRESOLVEAPPPATH_KEY; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.getBooleanInitParam; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.getInitParam; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.getLongInitParam; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.resolveModelConverterClasses; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.resolveResourceClasses; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.resolveResourcePackages; public class ServletOpenApiConfigurationLoader implements OpenApiConfigurationLoader { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletOpenApiContextBuilder.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletOpenApiContextBuilder.java similarity index 94% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletOpenApiContextBuilder.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletOpenApiContextBuilder.java index 9767dba7d3..f4173e28ec 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletOpenApiContextBuilder.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletOpenApiContextBuilder.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.swagger.v3.oas.integration.GenericOpenApiContextBuilder; import io.swagger.v3.oas.integration.OpenApiConfigurationException; import io.swagger.v3.oas.integration.OpenApiContextLocator; import io.swagger.v3.oas.integration.api.OpenApiContext; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.servlet.ServletConfig; +import jakarta.servlet.ServletConfig; public class ServletOpenApiContextBuilder extends GenericOpenApiContextBuilder { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletPathConfigurationLoader.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletPathConfigurationLoader.java similarity index 90% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletPathConfigurationLoader.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletPathConfigurationLoader.java index 1b5c820a3f..636b1de00d 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/ServletPathConfigurationLoader.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/ServletPathConfigurationLoader.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.swagger.v3.oas.integration.StringOpenApiConfigurationLoader; import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.servlet.ServletConfig; +import jakarta.servlet.ServletConfig; import java.io.IOException; public class ServletPathConfigurationLoader implements StringOpenApiConfigurationLoader { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerLoader.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/SwaggerLoader.java similarity index 99% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerLoader.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/SwaggerLoader.java index c55955d025..3a04c003ab 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerLoader.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/SwaggerLoader.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import io.swagger.v3.core.filter.OpenAPISpecFilter; import io.swagger.v3.core.filter.SpecFilter; @@ -11,7 +11,7 @@ import io.swagger.v3.oas.integration.api.OpenApiContext; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import java.util.Arrays; import java.util.HashMap; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/XmlWebOpenApiContext.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/XmlWebOpenApiContext.java similarity index 91% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/XmlWebOpenApiContext.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/XmlWebOpenApiContext.java index ddb26a1fa6..de9ef2c0bc 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/XmlWebOpenApiContext.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/XmlWebOpenApiContext.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; -import io.swagger.v3.jaxrs2.integration.api.WebOpenApiContext; +import io.swagger.v3.jakartarest.integration.api.WebOpenApiContext; import io.swagger.v3.oas.integration.api.OpenApiConfigurationLoader; -import org.apache.commons.lang3.tuple.ImmutablePair; +import io.swagger.v3.core.util.ImmutablePair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletContext; import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/api/JaxrsOpenApiScanner.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/api/JaxrsOpenApiScanner.java similarity index 66% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/api/JaxrsOpenApiScanner.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/api/JaxrsOpenApiScanner.java index a3e79298bd..e700ce656f 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/api/JaxrsOpenApiScanner.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/api/JaxrsOpenApiScanner.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.integration.api; +package io.swagger.v3.jakartarest.integration.api; import io.swagger.v3.oas.integration.api.OpenApiScanner; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.core.Application; public interface JaxrsOpenApiScanner extends OpenApiScanner { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/api/WebOpenApiContext.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/api/WebOpenApiContext.java similarity index 61% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/api/WebOpenApiContext.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/api/WebOpenApiContext.java index 4ee584b68a..05b2bf52e1 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/api/WebOpenApiContext.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/api/WebOpenApiContext.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.integration.api; +package io.swagger.v3.jakartarest.integration.api; import io.swagger.v3.oas.integration.api.OpenApiContext; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletContext; public interface WebOpenApiContext extends OpenApiContext { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/AcceptHeaderOpenApiResource.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/AcceptHeaderOpenApiResource.java similarity index 67% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/AcceptHeaderOpenApiResource.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/AcceptHeaderOpenApiResource.java index 164596ccdc..b109f6422b 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/AcceptHeaderOpenApiResource.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/AcceptHeaderOpenApiResource.java @@ -1,17 +1,17 @@ -package io.swagger.v3.jaxrs2.integration.resources; +package io.swagger.v3.jakartarest.integration.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.servlet.ServletConfig; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.servlet.ServletConfig; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Application; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; @Path("/openapi") public class AcceptHeaderOpenApiResource extends BaseOpenApiResource { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/BaseOpenApiResource.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/BaseOpenApiResource.java similarity index 90% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/BaseOpenApiResource.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/BaseOpenApiResource.java index 1fcd1ecda4..282d49774b 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/BaseOpenApiResource.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/BaseOpenApiResource.java @@ -1,28 +1,28 @@ -package io.swagger.v3.jaxrs2.integration.resources; +package io.swagger.v3.jakartarest.integration.resources; import io.swagger.v3.core.filter.OpenAPISpecFilter; import io.swagger.v3.core.filter.SpecFilter; -import io.swagger.v3.jaxrs2.integration.JaxrsOpenApiContextBuilder; +import io.swagger.v3.jakartarest.integration.JaxrsOpenApiContextBuilder; import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; import io.swagger.v3.oas.integration.api.OpenApiContext; import io.swagger.v3.oas.models.OpenAPI; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.ServletConfig; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.servlet.ServletConfig; +import jakarta.ws.rs.core.Application; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.getContextIdFromServletConfig; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.getContextIdFromServletConfig; public abstract class BaseOpenApiResource { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/OpenApiResource.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/OpenApiResource.java similarity index 58% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/OpenApiResource.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/OpenApiResource.java index 4fc9cd20fd..98a559b77c 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/OpenApiResource.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/integration/resources/OpenApiResource.java @@ -1,18 +1,18 @@ -package io.swagger.v3.jaxrs2.integration.resources; +package io.swagger.v3.jakartarest.integration.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.servlet.ServletConfig; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.servlet.ServletConfig; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Application; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; @Path("/openapi.{type:json|yaml}") public class OpenApiResource extends BaseOpenApiResource { diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/util/ReaderUtils.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/util/ReaderUtils.java similarity index 86% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/util/ReaderUtils.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/util/ReaderUtils.java index e3bb41d9d8..d1248085b5 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/util/ReaderUtils.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/util/ReaderUtils.java @@ -1,18 +1,18 @@ -package io.swagger.v3.jaxrs2.util; +package io.swagger.v3.jakartarest.util; import com.fasterxml.jackson.annotation.JsonView; import io.swagger.v3.core.util.ParameterProcessor; import io.swagger.v3.core.util.ReflectionUtils; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtension; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtensions; +import io.swagger.v3.jakartarest.ext.OpenAPIExtension; +import io.swagger.v3.jakartarest.ext.OpenAPIExtensions; import io.swagger.v3.oas.integration.api.OpenAPIConfiguration; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.parameters.Parameter; -import org.apache.commons.lang3.StringUtils; +import io.swagger.v3.core.util.StringUtils; -import javax.ws.rs.HttpMethod; -import javax.ws.rs.core.Context; +import jakarta.ws.rs.HttpMethod; +import jakarta.ws.rs.core.Context; import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -36,11 +36,11 @@ public class ReaderUtils { private static final String OPTIONS_METHOD = "options"; private static final String PATH_DELIMITER = "/"; - public static List collectConstructorParameters(Class cls, Components components, javax.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation) { + public static List collectConstructorParameters(Class cls, Components components, jakarta.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation) { return collectConstructorParameters(cls, components, classConsumes, jsonViewAnnotation, null); } - public static List collectConstructorParameters(Class cls, Components components, javax.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation, Schema.SchemaResolution schemaResolution) { + public static List collectConstructorParameters(Class cls, Components components, jakarta.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation, Schema.SchemaResolution schemaResolution) { return collectConstructorParameters(cls, components, classConsumes, jsonViewAnnotation, schemaResolution, false); } /** @@ -50,7 +50,7 @@ public static List collectConstructorParameters(Class cls, Compone * @param components * @return the collection of supported parameters */ - public static List collectConstructorParameters(Class cls, Components components, javax.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation, Schema.SchemaResolution schemaResolution, boolean openapi31) { + public static List collectConstructorParameters(Class cls, Components components, jakarta.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation, Schema.SchemaResolution schemaResolution, boolean openapi31) { if (cls.isLocalClass() || (cls.isMemberClass() && !Modifier.isStatic(cls.getModifiers()))) { return Collections.emptyList(); } @@ -113,7 +113,7 @@ public static List collectConstructorParameters(Class cls, Compone * @param components * @return the collection of supported parameters */ - public static List collectFieldParameters(Class cls, Components components, javax.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation) { + public static List collectFieldParameters(Class cls, Components components, jakarta.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation) { final List parameters = new ArrayList<>(); for (Field field : ReflectionUtils.getDeclaredFields(cls)) { final List annotations = Arrays.asList(field.getAnnotations()); @@ -123,7 +123,7 @@ public static List collectFieldParameters(Class cls, Components co return parameters; } - private static List collectParameters(Type type, List annotations, Components components, javax.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation) { + private static List collectParameters(Type type, List annotations, Components components, jakarta.ws.rs.Consumes classConsumes, JsonView jsonViewAnnotation) { final Iterator chain = OpenAPIExtensions.chain(); return chain.hasNext() ? chain.next().extractParameters(annotations, type, new HashSet<>(), components, classConsumes, null, false, jsonViewAnnotation, chain).parameters : Collections.emptyList(); @@ -169,7 +169,7 @@ public static boolean isIgnored(String path, OpenAPIConfiguration config) { return false; } - public static String getPath(javax.ws.rs.Path classLevelPath, javax.ws.rs.Path methodLevelPath, String parentPath, boolean isSubresource) { + public static String getPath(jakarta.ws.rs.Path classLevelPath, jakarta.ws.rs.Path methodLevelPath, String parentPath, boolean isSubresource) { if (classLevelPath == null && methodLevelPath == null && StringUtils.isEmpty(parentPath)) { return null; } @@ -209,17 +209,17 @@ private static void appendPathComponent(String component, StringBuilder to) { } public static String extractOperationMethod(Method method, Iterator chain) { - if (method.getAnnotation(javax.ws.rs.GET.class) != null) { + if (method.getAnnotation(jakarta.ws.rs.GET.class) != null) { return GET_METHOD; - } else if (method.getAnnotation(javax.ws.rs.PUT.class) != null) { + } else if (method.getAnnotation(jakarta.ws.rs.PUT.class) != null) { return PUT_METHOD; - } else if (method.getAnnotation(javax.ws.rs.POST.class) != null) { + } else if (method.getAnnotation(jakarta.ws.rs.POST.class) != null) { return POST_METHOD; - } else if (method.getAnnotation(javax.ws.rs.DELETE.class) != null) { + } else if (method.getAnnotation(jakarta.ws.rs.DELETE.class) != null) { return DELETE_METHOD; - } else if (method.getAnnotation(javax.ws.rs.OPTIONS.class) != null) { + } else if (method.getAnnotation(jakarta.ws.rs.OPTIONS.class) != null) { return OPTIONS_METHOD; - } else if (method.getAnnotation(javax.ws.rs.HEAD.class) != null) { + } else if (method.getAnnotation(jakarta.ws.rs.HEAD.class) != null) { return HEAD_METHOD; } else if (method.getAnnotation(HttpMethod.class) != null) { HttpMethod httpMethod = method.getAnnotation(HttpMethod.class); diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/util/ServletUtils.java b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/util/ServletUtils.java similarity index 92% rename from modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/util/ServletUtils.java rename to modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/util/ServletUtils.java index 2865ddafda..8a0f916a0b 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/util/ServletUtils.java +++ b/modules/swagger-jakarta-rest/src/main/java/io/swagger/v3/jakartarest/util/ServletUtils.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.util; +package io.swagger.v3.jakartarest.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.core.MultivaluedHashMap; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.ws.rs.core.MultivaluedHashMap; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.nio.charset.StandardCharsets; diff --git a/modules/swagger-jaxrs2/src/main/resources/META-INF/beans.xml b/modules/swagger-jakarta-rest/src/main/resources/META-INF/beans.xml similarity index 100% rename from modules/swagger-jaxrs2/src/main/resources/META-INF/beans.xml rename to modules/swagger-jakarta-rest/src/main/resources/META-INF/beans.xml diff --git a/modules/swagger-jaxrs2/src/test/java/com/my/project/resources/ResourceInPackageA.java b/modules/swagger-jakarta-rest/src/test/java/com/my/project/resources/ResourceInPackageA.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/com/my/project/resources/ResourceInPackageA.java rename to modules/swagger-jakarta-rest/src/test/java/com/my/project/resources/ResourceInPackageA.java index fe93d777bb..86a240e9db 100644 --- a/modules/swagger-jaxrs2/src/test/java/com/my/project/resources/ResourceInPackageA.java +++ b/modules/swagger-jakarta-rest/src/test/java/com/my/project/resources/ResourceInPackageA.java @@ -3,8 +3,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.ArrayList; @Path("/packageA") diff --git a/modules/swagger-jaxrs2/src/test/java/com/my/sorted/resources/SortedThing.java b/modules/swagger-jakarta-rest/src/test/java/com/my/sorted/resources/SortedThing.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/com/my/sorted/resources/SortedThing.java rename to modules/swagger-jakarta-rest/src/test/java/com/my/sorted/resources/SortedThing.java index 38febff4e3..ffcbc37596 100644 --- a/modules/swagger-jaxrs2/src/test/java/com/my/sorted/resources/SortedThing.java +++ b/modules/swagger-jakarta-rest/src/test/java/com/my/sorted/resources/SortedThing.java @@ -1,10 +1,10 @@ package com.my.sorted.resources; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("/sorted") public class SortedThing { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BeanParamTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BeanParamTest.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BeanParamTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BeanParamTest.java index d511970bff..a5a2248dea 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BeanParamTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BeanParamTest.java @@ -1,17 +1,17 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import java.util.List; -import javax.ws.rs.BeanParam; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; -import io.swagger.v3.jaxrs2.resources.model.NestedBeanParam; +import io.swagger.v3.jakartarest.resources.model.NestedBeanParam; import io.swagger.v3.oas.models.media.IntegerSchema; import org.testng.Assert; import org.testng.annotations.Test; -import io.swagger.v3.jaxrs2.resources.model.ListOfStringsBeanParam; +import io.swagger.v3.jakartarest.resources.model.ListOfStringsBeanParam; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BinaryParameterResourceTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BinaryParameterResourceTest.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BinaryParameterResourceTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BinaryParameterResourceTest.java index 03c16c58bb..8725684274 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BinaryParameterResourceTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BinaryParameterResourceTest.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import java.io.IOException; @@ -7,8 +7,8 @@ import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; -import io.swagger.v3.jaxrs2.resources.BinaryParameterResource; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.resources.BinaryParameterResource; public class BinaryParameterResourceTest extends AbstractAnnotationTest { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BootstrapServlet.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BootstrapServlet.java similarity index 82% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BootstrapServlet.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BootstrapServlet.java index 97ea60fab0..a16916421e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/BootstrapServlet.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/BootstrapServlet.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.integration.JaxrsOpenApiContextBuilder; +import io.swagger.v3.jakartarest.integration.JaxrsOpenApiContextBuilder; import io.swagger.v3.oas.integration.OpenApiConfigurationException; import io.swagger.v3.oas.integration.OpenApiContextLocator; import io.swagger.v3.oas.integration.SwaggerConfiguration; @@ -10,17 +10,17 @@ import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.stream.Collectors; import java.util.stream.Stream; -import static io.swagger.v3.jaxrs2.integration.ServletConfigContextUtils.getContextIdFromServletConfig; +import static io.swagger.v3.jakartarest.integration.ServletConfigContextUtils.getContextIdFromServletConfig; public class BootstrapServlet extends HttpServlet { @@ -45,7 +45,7 @@ public void init(ServletConfig config) throws ServletException { .prettyPrint(true) .openAPI31(true) .convertToOpenAPI31(true) - .resourcePackages(Stream.of("io.swagger.v3.jaxrs2.it.resources").collect(Collectors.toSet())); + .resourcePackages(Stream.of("io.swagger.v3.jakartarest.it.resources").collect(Collectors.toSet())); try { new JaxrsOpenApiContextBuilder() diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/ContainerTypeSchemaTicket2636Test.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/ContainerTypeSchemaTicket2636Test.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/ContainerTypeSchemaTicket2636Test.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/ContainerTypeSchemaTicket2636Test.java index 7584aaf24b..2abf606b8c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/ContainerTypeSchemaTicket2636Test.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/ContainerTypeSchemaTicket2636Test.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,8 +8,8 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import org.testng.annotations.Test; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.HashMap; public class ContainerTypeSchemaTicket2636Test extends AbstractAnnotationTest { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/DecoratorExtensionTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/DecoratorExtensionTest.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/DecoratorExtensionTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/DecoratorExtensionTest.java index b0f9329409..1bd4031519 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/DecoratorExtensionTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/DecoratorExtensionTest.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.ext.AbstractOpenAPIExtension; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtension; -import io.swagger.v3.jaxrs2.ext.OpenAPIExtensions; -import io.swagger.v3.jaxrs2.resources.SimpleResourceWithVendorAnnotation; +import io.swagger.v3.jakartarest.ext.AbstractOpenAPIExtension; +import io.swagger.v3.jakartarest.ext.OpenAPIExtension; +import io.swagger.v3.jakartarest.ext.OpenAPIExtensions; +import io.swagger.v3.jakartarest.resources.SimpleResourceWithVendorAnnotation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.responses.ApiResponse; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/EnumTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/EnumTest.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/EnumTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/EnumTest.java index 2f9410e949..f6ba4c1ad9 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/EnumTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/EnumTest.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.resources.EnumParameterResource; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.resources.EnumParameterResource; import io.swagger.v3.oas.models.OpenAPI; import org.testng.annotations.Test; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/FormParamBeanTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/FormParamBeanTest.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/FormParamBeanTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/FormParamBeanTest.java index 3179af69cf..0f54365394 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/FormParamBeanTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/FormParamBeanTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.resources.model.FormParamBean; +import io.swagger.v3.jakartarest.resources.model.FormParamBean; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.MediaType; import io.swagger.v3.oas.models.media.Schema; @@ -9,7 +9,7 @@ import org.testng.Assert; import org.testng.annotations.Test; -import javax.ws.rs.*; +import jakarta.ws.rs.*; import static org.testng.Assert.assertNotNull; diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JaxbObjectMapperFactory.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JaxbObjectMapperFactory.java new file mode 100644 index 0000000000..1dfe2da411 --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JaxbObjectMapperFactory.java @@ -0,0 +1,14 @@ +package io.swagger.v3.jakartarest; + +import tools.jackson.databind.ObjectMapper; +import tools.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationModule; +import io.swagger.v3.core.util.ObjectMapperFactory; + +public class JaxbObjectMapperFactory extends ObjectMapperFactory { + + public static ObjectMapper getMapper() { + return ObjectMapperFactory.createJson().rebuild() + .addModule(new JakartaXmlBindAnnotationModule()) + .build(); + } +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JsonIdentityTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JsonIdentityTest.java similarity index 97% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JsonIdentityTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JsonIdentityTest.java index 9af9a9d351..cc375ae0c1 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JsonIdentityTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JsonIdentityTest.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.resources.JsonIdentityCyclicResource; -import io.swagger.v3.jaxrs2.resources.JsonIdentityResource; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.resources.JsonIdentityCyclicResource; +import io.swagger.v3.jakartarest.resources.JsonIdentityResource; import io.swagger.v3.oas.models.OpenAPI; import org.testng.annotations.Test; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JsonViewTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JsonViewTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JsonViewTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JsonViewTest.java index fca5f1d946..a626c3bd18 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JsonViewTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/JsonViewTest.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Yaml; @@ -14,18 +14,18 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; -import com.fasterxml.jackson.core.JsonProcessingException; import java.util.Arrays; import java.util.List; import java.util.Set; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; import org.testng.annotations.Test; +import tools.jackson.core.JacksonException; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; @@ -157,7 +157,7 @@ public List getCars() { } @Test(description = "check awareness of JsonView") - public void shouldSerializeTypeParameter() throws JsonProcessingException { + public void shouldSerializeTypeParameter() throws JacksonException { Reader reader = new Reader(new OpenAPI()); diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/PetResourceTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/PetResourceTest.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/PetResourceTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/PetResourceTest.java index fcdad85b6a..2a076ffe4e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/PetResourceTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/PetResourceTest.java @@ -1,51 +1,51 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.petstore.EmptyPetResource; -import io.swagger.v3.jaxrs2.petstore.WebHookResource; -import io.swagger.v3.jaxrs2.petstore.callback.ComplexCallback31Resource; -import io.swagger.v3.jaxrs2.petstore.callback.ComplexCallbackResource; -import io.swagger.v3.jaxrs2.petstore.callback.MultipleCallbacksTestWithOperationResource; -import io.swagger.v3.jaxrs2.petstore.callback.RepeatableCallbackResource; -import io.swagger.v3.jaxrs2.petstore.callback.SimpleCallbackWithOperationResource; -import io.swagger.v3.jaxrs2.petstore.example.ExamplesResource; -import io.swagger.v3.jaxrs2.petstore.link.LinksAndContent31Resource; -import io.swagger.v3.jaxrs2.petstore.link.LinksResource; -import io.swagger.v3.jaxrs2.petstore.openapidefintion.OpenAPI31DefinitionResource; -import io.swagger.v3.jaxrs2.petstore.openapidefintion.OpenAPIDefinitionResource; -import io.swagger.v3.jaxrs2.petstore.operation.AnnotatedSameNameOperationResource; -import io.swagger.v3.jaxrs2.petstore.operation.ExternalDocumentationResource; -import io.swagger.v3.jaxrs2.petstore.operation.FullyAnnotatedOperationResource; -import io.swagger.v3.jaxrs2.petstore.operation.HiddenOperationResource; -import io.swagger.v3.jaxrs2.petstore.operation.NotAnnotatedSameNameOperationResource; -import io.swagger.v3.jaxrs2.petstore.operation.OperationResource; -import io.swagger.v3.jaxrs2.petstore.operation.OperationWithoutAnnotationResource; -import io.swagger.v3.jaxrs2.petstore.operation.ServerOperationResource; -import io.swagger.v3.jaxrs2.petstore.operation.SubResource; -import io.swagger.v3.jaxrs2.petstore.parameter.ArraySchemaResource; -import io.swagger.v3.jaxrs2.petstore.parameter.ComplexParameterResource; -import io.swagger.v3.jaxrs2.petstore.parameter.ComplexParameterWithOperationResource; -import io.swagger.v3.jaxrs2.petstore.parameter.MultipleNotAnnotatedParameter; -import io.swagger.v3.jaxrs2.petstore.parameter.OpenAPIJaxRSAnnotatedParameter; -import io.swagger.v3.jaxrs2.petstore.parameter.OpenAPIWithContentJaxRSAnnotatedParameter; -import io.swagger.v3.jaxrs2.petstore.parameter.OpenAPIWithImplementationJaxRSAnnotatedParameter; -import io.swagger.v3.jaxrs2.petstore.parameter.Parameters31Resource; -import io.swagger.v3.jaxrs2.petstore.parameter.ParametersResource; -import io.swagger.v3.jaxrs2.petstore.parameter.RepeatableParametersResource; -import io.swagger.v3.jaxrs2.petstore.parameter.SingleJaxRSAnnotatedParameter; -import io.swagger.v3.jaxrs2.petstore.parameter.SingleNotAnnotatedParameter; -import io.swagger.v3.jaxrs2.petstore.requestbody.RequestBody31Resource; -import io.swagger.v3.jaxrs2.petstore.requestbody.RequestBodyMethodPriorityResource; -import io.swagger.v3.jaxrs2.petstore.requestbody.RequestBodyParameterPriorityResource; -import io.swagger.v3.jaxrs2.petstore.requestbody.RequestBodyResource; -import io.swagger.v3.jaxrs2.petstore.responses.*; -import io.swagger.v3.jaxrs2.petstore.security.SecurityResource; -import io.swagger.v3.jaxrs2.petstore.tags.CompleteTagResource; -import io.swagger.v3.jaxrs2.petstore.tags.TagClassResource; -import io.swagger.v3.jaxrs2.petstore.tags.TagMethodResource; -import io.swagger.v3.jaxrs2.petstore.tags.TagOpenAPIDefinitionResource; -import io.swagger.v3.jaxrs2.petstore.tags.TagOperationResource; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.petstore.EmptyPetResource; +import io.swagger.v3.jakartarest.petstore.WebHookResource; +import io.swagger.v3.jakartarest.petstore.callback.ComplexCallback31Resource; +import io.swagger.v3.jakartarest.petstore.callback.ComplexCallbackResource; +import io.swagger.v3.jakartarest.petstore.callback.MultipleCallbacksTestWithOperationResource; +import io.swagger.v3.jakartarest.petstore.callback.RepeatableCallbackResource; +import io.swagger.v3.jakartarest.petstore.callback.SimpleCallbackWithOperationResource; +import io.swagger.v3.jakartarest.petstore.example.ExamplesResource; +import io.swagger.v3.jakartarest.petstore.link.LinksAndContent31Resource; +import io.swagger.v3.jakartarest.petstore.link.LinksResource; +import io.swagger.v3.jakartarest.petstore.openapidefintion.OpenAPI31DefinitionResource; +import io.swagger.v3.jakartarest.petstore.openapidefintion.OpenAPIDefinitionResource; +import io.swagger.v3.jakartarest.petstore.operation.AnnotatedSameNameOperationResource; +import io.swagger.v3.jakartarest.petstore.operation.ExternalDocumentationResource; +import io.swagger.v3.jakartarest.petstore.operation.FullyAnnotatedOperationResource; +import io.swagger.v3.jakartarest.petstore.operation.HiddenOperationResource; +import io.swagger.v3.jakartarest.petstore.operation.NotAnnotatedSameNameOperationResource; +import io.swagger.v3.jakartarest.petstore.operation.OperationResource; +import io.swagger.v3.jakartarest.petstore.operation.OperationWithoutAnnotationResource; +import io.swagger.v3.jakartarest.petstore.operation.ServerOperationResource; +import io.swagger.v3.jakartarest.petstore.operation.SubResource; +import io.swagger.v3.jakartarest.petstore.parameter.ArraySchemaResource; +import io.swagger.v3.jakartarest.petstore.parameter.ComplexParameterResource; +import io.swagger.v3.jakartarest.petstore.parameter.ComplexParameterWithOperationResource; +import io.swagger.v3.jakartarest.petstore.parameter.MultipleNotAnnotatedParameter; +import io.swagger.v3.jakartarest.petstore.parameter.OpenAPIJaxRSAnnotatedParameter; +import io.swagger.v3.jakartarest.petstore.parameter.OpenAPIWithContentJaxRSAnnotatedParameter; +import io.swagger.v3.jakartarest.petstore.parameter.OpenAPIWithImplementationJaxRSAnnotatedParameter; +import io.swagger.v3.jakartarest.petstore.parameter.Parameters31Resource; +import io.swagger.v3.jakartarest.petstore.parameter.ParametersResource; +import io.swagger.v3.jakartarest.petstore.parameter.RepeatableParametersResource; +import io.swagger.v3.jakartarest.petstore.parameter.SingleJaxRSAnnotatedParameter; +import io.swagger.v3.jakartarest.petstore.parameter.SingleNotAnnotatedParameter; +import io.swagger.v3.jakartarest.petstore.requestbody.RequestBody31Resource; +import io.swagger.v3.jakartarest.petstore.requestbody.RequestBodyMethodPriorityResource; +import io.swagger.v3.jakartarest.petstore.requestbody.RequestBodyParameterPriorityResource; +import io.swagger.v3.jakartarest.petstore.requestbody.RequestBodyResource; +import io.swagger.v3.jakartarest.petstore.responses.*; +import io.swagger.v3.jakartarest.petstore.security.SecurityResource; +import io.swagger.v3.jakartarest.petstore.tags.CompleteTagResource; +import io.swagger.v3.jakartarest.petstore.tags.TagClassResource; +import io.swagger.v3.jakartarest.petstore.tags.TagMethodResource; +import io.swagger.v3.jakartarest.petstore.tags.TagOpenAPIDefinitionResource; +import io.swagger.v3.jakartarest.petstore.tags.TagOperationResource; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import org.slf4j.Logger; @@ -82,7 +82,7 @@ public class PetResourceTest extends AbstractAnnotationTest { private static final String EXAMPLES_SOURCE = "petstore/example/"; private static final String REQUEST_BODIES_SOURCE = "petstore/requestbody/"; private static final String YAML_EXTENSION = ".yaml"; - private static final String PETSTORE_PACKAGE = "io.swagger.v3.jaxrs2.petstore"; + private static final String PETSTORE_PACKAGE = "io.swagger.v3.jakartarest.petstore"; private static final char DOT = '.'; private static final char SLASH = '/'; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/ReaderTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/ReaderTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/ReaderTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/ReaderTest.java index 5dd7e1de3f..6b3984f8e7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/ReaderTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/ReaderTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import io.swagger.v3.core.converter.AnnotatedType; import io.swagger.v3.core.converter.ModelConverter; @@ -15,105 +15,105 @@ import io.swagger.v3.core.util.Configuration; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.PrimitiveType; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.petstore31.PetResource; -import io.swagger.v3.jaxrs2.petstore31.TagResource; -import io.swagger.v3.jaxrs2.resources.ArraySchemaImplementationResource; -import io.swagger.v3.jaxrs2.resources.DefaultResponseResource; -import io.swagger.v3.jaxrs2.resources.Misc31Resource; -import io.swagger.v3.jaxrs2.resources.ParameterMaximumValueResource; -import io.swagger.v3.jaxrs2.resources.ResponseReturnTypeResource; -import io.swagger.v3.jaxrs2.resources.SchemaAdditionalPropertiesBooleanResource; -import io.swagger.v3.jaxrs2.resources.SchemaAdditionalPropertiesResource; -import io.swagger.v3.jaxrs2.resources.SchemaPropertiesResource; -import io.swagger.v3.jaxrs2.resources.SiblingPropResource; -import io.swagger.v3.jaxrs2.resources.SiblingsResource; -import io.swagger.v3.jaxrs2.resources.SiblingsResourceRequestBody; -import io.swagger.v3.jaxrs2.resources.SiblingsResourceRequestBodyMultiple; -import io.swagger.v3.jaxrs2.resources.SiblingsResourceResponse; -import io.swagger.v3.jaxrs2.resources.SiblingsResourceSimple; -import io.swagger.v3.jaxrs2.resources.SingleExampleResource; -import io.swagger.v3.jaxrs2.resources.BasicFieldsResource; -import io.swagger.v3.jaxrs2.resources.BookStoreTicket2646; -import io.swagger.v3.jaxrs2.resources.ClassPathParentResource; -import io.swagger.v3.jaxrs2.resources.ClassPathSubResource; -import io.swagger.v3.jaxrs2.resources.CompleteFieldsResource; -import io.swagger.v3.jaxrs2.resources.DeprecatedFieldsResource; -import io.swagger.v3.jaxrs2.resources.DuplicatedOperationIdResource; -import io.swagger.v3.jaxrs2.resources.DuplicatedOperationMethodNameResource; -import io.swagger.v3.jaxrs2.resources.DuplicatedSecurityResource; -import io.swagger.v3.jaxrs2.resources.EnhancedResponsesResource; -import io.swagger.v3.jaxrs2.resources.ExternalDocsReference; -import io.swagger.v3.jaxrs2.resources.MyClass; -import io.swagger.v3.jaxrs2.resources.MyOtherClass; -import io.swagger.v3.jaxrs2.resources.RefCallbackResource; -import io.swagger.v3.jaxrs2.resources.RefExamplesResource; -import io.swagger.v3.jaxrs2.resources.RefHeaderResource; -import io.swagger.v3.jaxrs2.resources.RefLinksResource; -import io.swagger.v3.jaxrs2.resources.RefParameter3029Resource; -import io.swagger.v3.jaxrs2.resources.RefParameter3074Resource; -import io.swagger.v3.jaxrs2.resources.RefParameterResource; -import io.swagger.v3.jaxrs2.resources.RefRequestBodyResource; -import io.swagger.v3.jaxrs2.resources.RefResponsesResource; -import io.swagger.v3.jaxrs2.resources.RefSecurityResource; -import io.swagger.v3.jaxrs2.resources.ResourceWithSubResource; -import io.swagger.v3.jaxrs2.resources.ResponseContentWithArrayResource; -import io.swagger.v3.jaxrs2.resources.ResponsesResource; -import io.swagger.v3.jaxrs2.resources.SecurityResource; -import io.swagger.v3.jaxrs2.resources.ServersResource; -import io.swagger.v3.jaxrs2.resources.SimpleCallbackResource; -import io.swagger.v3.jaxrs2.resources.SimpleExamplesResource; -import io.swagger.v3.jaxrs2.resources.SimpleMethods; -import io.swagger.v3.jaxrs2.resources.SimpleParameterResource; -import io.swagger.v3.jaxrs2.resources.SimpleRequestBodyResource; -import io.swagger.v3.jaxrs2.resources.SimpleResponsesResource; -import io.swagger.v3.jaxrs2.resources.SubResourceHead; -import io.swagger.v3.jaxrs2.resources.TagsResource; -import io.swagger.v3.jaxrs2.resources.Test2607; -import io.swagger.v3.jaxrs2.resources.TestResource; -import io.swagger.v3.jaxrs2.resources.Ticket2340Resource; -import io.swagger.v3.jaxrs2.resources.Ticket2644ConcreteImplementation; -import io.swagger.v3.jaxrs2.resources.Ticket2763Resource; -import io.swagger.v3.jaxrs2.resources.Ticket2793Resource; -import io.swagger.v3.jaxrs2.resources.Ticket2794Resource; -import io.swagger.v3.jaxrs2.resources.Ticket2806Resource; -import io.swagger.v3.jaxrs2.resources.Ticket2818Resource; -import io.swagger.v3.jaxrs2.resources.Ticket2848Resource; -import io.swagger.v3.jaxrs2.resources.Ticket3015Resource; -import io.swagger.v3.jaxrs2.resources.Ticket3587Resource; -import io.swagger.v3.jaxrs2.resources.Ticket3731BisResource; -import io.swagger.v3.jaxrs2.resources.Ticket3731Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4065Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4341Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4412Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4446Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4483Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4804CustomClass; -import io.swagger.v3.jaxrs2.resources.Ticket4804NotBlankResource; -import io.swagger.v3.jaxrs2.resources.Ticket4804ProcessorResource; -import io.swagger.v3.jaxrs2.resources.Ticket4804Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4850Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4859Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4878Resource; -import io.swagger.v3.jaxrs2.resources.Ticket4879Resource; -import io.swagger.v3.jaxrs2.resources.Ticket5017Resource; -import io.swagger.v3.jaxrs2.resources.UploadResource; -import io.swagger.v3.jaxrs2.resources.UrlEncodedResourceWithEncodings; -import io.swagger.v3.jaxrs2.resources.UserAnnotationResource; -import io.swagger.v3.jaxrs2.resources.WebHookResource; -import io.swagger.v3.jaxrs2.resources.extensions.ExtensionsResource; -import io.swagger.v3.jaxrs2.resources.extensions.OperationExtensionsResource; -import io.swagger.v3.jaxrs2.resources.extensions.ParameterExtensionsResource; -import io.swagger.v3.jaxrs2.resources.extensions.RequestBodyExtensionsResource; -import io.swagger.v3.jaxrs2.resources.generics.ticket2144.ItemResource; -import io.swagger.v3.jaxrs2.resources.generics.ticket3149.MainResource; -import io.swagger.v3.jaxrs2.resources.generics.ticket3426.Ticket3426Resource; -import io.swagger.v3.jaxrs2.resources.generics.ticket3694.Ticket3694Resource; -import io.swagger.v3.jaxrs2.resources.generics.ticket3694.Ticket3694ResourceExtendedType; -import io.swagger.v3.jaxrs2.resources.generics.ticket3694.Ticket3694ResourceSimple; -import io.swagger.v3.jaxrs2.resources.generics.ticket3694.Ticket3694ResourceSimpleSameReturn; -import io.swagger.v3.jaxrs2.resources.rs.ProcessTokenRestService; -import io.swagger.v3.jaxrs2.resources.ticket3624.Service; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.petstore31.PetResource; +import io.swagger.v3.jakartarest.petstore31.TagResource; +import io.swagger.v3.jakartarest.resources.ArraySchemaImplementationResource; +import io.swagger.v3.jakartarest.resources.DefaultResponseResource; +import io.swagger.v3.jakartarest.resources.Misc31Resource; +import io.swagger.v3.jakartarest.resources.ParameterMaximumValueResource; +import io.swagger.v3.jakartarest.resources.ResponseReturnTypeResource; +import io.swagger.v3.jakartarest.resources.SchemaAdditionalPropertiesBooleanResource; +import io.swagger.v3.jakartarest.resources.SchemaAdditionalPropertiesResource; +import io.swagger.v3.jakartarest.resources.SchemaPropertiesResource; +import io.swagger.v3.jakartarest.resources.SiblingPropResource; +import io.swagger.v3.jakartarest.resources.SiblingsResource; +import io.swagger.v3.jakartarest.resources.SiblingsResourceRequestBody; +import io.swagger.v3.jakartarest.resources.SiblingsResourceRequestBodyMultiple; +import io.swagger.v3.jakartarest.resources.SiblingsResourceResponse; +import io.swagger.v3.jakartarest.resources.SiblingsResourceSimple; +import io.swagger.v3.jakartarest.resources.SingleExampleResource; +import io.swagger.v3.jakartarest.resources.BasicFieldsResource; +import io.swagger.v3.jakartarest.resources.BookStoreTicket2646; +import io.swagger.v3.jakartarest.resources.ClassPathParentResource; +import io.swagger.v3.jakartarest.resources.ClassPathSubResource; +import io.swagger.v3.jakartarest.resources.CompleteFieldsResource; +import io.swagger.v3.jakartarest.resources.DeprecatedFieldsResource; +import io.swagger.v3.jakartarest.resources.DuplicatedOperationIdResource; +import io.swagger.v3.jakartarest.resources.DuplicatedOperationMethodNameResource; +import io.swagger.v3.jakartarest.resources.DuplicatedSecurityResource; +import io.swagger.v3.jakartarest.resources.EnhancedResponsesResource; +import io.swagger.v3.jakartarest.resources.ExternalDocsReference; +import io.swagger.v3.jakartarest.resources.MyClass; +import io.swagger.v3.jakartarest.resources.MyOtherClass; +import io.swagger.v3.jakartarest.resources.RefCallbackResource; +import io.swagger.v3.jakartarest.resources.RefExamplesResource; +import io.swagger.v3.jakartarest.resources.RefHeaderResource; +import io.swagger.v3.jakartarest.resources.RefLinksResource; +import io.swagger.v3.jakartarest.resources.RefParameter3029Resource; +import io.swagger.v3.jakartarest.resources.RefParameter3074Resource; +import io.swagger.v3.jakartarest.resources.RefParameterResource; +import io.swagger.v3.jakartarest.resources.RefRequestBodyResource; +import io.swagger.v3.jakartarest.resources.RefResponsesResource; +import io.swagger.v3.jakartarest.resources.RefSecurityResource; +import io.swagger.v3.jakartarest.resources.ResourceWithSubResource; +import io.swagger.v3.jakartarest.resources.ResponseContentWithArrayResource; +import io.swagger.v3.jakartarest.resources.ResponsesResource; +import io.swagger.v3.jakartarest.resources.SecurityResource; +import io.swagger.v3.jakartarest.resources.ServersResource; +import io.swagger.v3.jakartarest.resources.SimpleCallbackResource; +import io.swagger.v3.jakartarest.resources.SimpleExamplesResource; +import io.swagger.v3.jakartarest.resources.SimpleMethods; +import io.swagger.v3.jakartarest.resources.SimpleParameterResource; +import io.swagger.v3.jakartarest.resources.SimpleRequestBodyResource; +import io.swagger.v3.jakartarest.resources.SimpleResponsesResource; +import io.swagger.v3.jakartarest.resources.SubResourceHead; +import io.swagger.v3.jakartarest.resources.TagsResource; +import io.swagger.v3.jakartarest.resources.Test2607; +import io.swagger.v3.jakartarest.resources.TestResource; +import io.swagger.v3.jakartarest.resources.Ticket2340Resource; +import io.swagger.v3.jakartarest.resources.Ticket2644ConcreteImplementation; +import io.swagger.v3.jakartarest.resources.Ticket2763Resource; +import io.swagger.v3.jakartarest.resources.Ticket2793Resource; +import io.swagger.v3.jakartarest.resources.Ticket2794Resource; +import io.swagger.v3.jakartarest.resources.Ticket2806Resource; +import io.swagger.v3.jakartarest.resources.Ticket2818Resource; +import io.swagger.v3.jakartarest.resources.Ticket2848Resource; +import io.swagger.v3.jakartarest.resources.Ticket3015Resource; +import io.swagger.v3.jakartarest.resources.Ticket3587Resource; +import io.swagger.v3.jakartarest.resources.Ticket3731BisResource; +import io.swagger.v3.jakartarest.resources.Ticket3731Resource; +import io.swagger.v3.jakartarest.resources.Ticket4065Resource; +import io.swagger.v3.jakartarest.resources.Ticket4341Resource; +import io.swagger.v3.jakartarest.resources.Ticket4412Resource; +import io.swagger.v3.jakartarest.resources.Ticket4446Resource; +import io.swagger.v3.jakartarest.resources.Ticket4483Resource; +import io.swagger.v3.jakartarest.resources.Ticket4804CustomClass; +import io.swagger.v3.jakartarest.resources.Ticket4804NotBlankResource; +import io.swagger.v3.jakartarest.resources.Ticket4804ProcessorResource; +import io.swagger.v3.jakartarest.resources.Ticket4804Resource; +import io.swagger.v3.jakartarest.resources.Ticket4850Resource; +import io.swagger.v3.jakartarest.resources.Ticket4859Resource; +import io.swagger.v3.jakartarest.resources.Ticket4878Resource; +import io.swagger.v3.jakartarest.resources.Ticket4879Resource; +import io.swagger.v3.jakartarest.resources.Ticket5017Resource; +import io.swagger.v3.jakartarest.resources.UploadResource; +import io.swagger.v3.jakartarest.resources.UrlEncodedResourceWithEncodings; +import io.swagger.v3.jakartarest.resources.UserAnnotationResource; +import io.swagger.v3.jakartarest.resources.WebHookResource; +import io.swagger.v3.jakartarest.resources.extensions.ExtensionsResource; +import io.swagger.v3.jakartarest.resources.extensions.OperationExtensionsResource; +import io.swagger.v3.jakartarest.resources.extensions.ParameterExtensionsResource; +import io.swagger.v3.jakartarest.resources.extensions.RequestBodyExtensionsResource; +import io.swagger.v3.jakartarest.resources.generics.ticket2144.ItemResource; +import io.swagger.v3.jakartarest.resources.generics.ticket3149.MainResource; +import io.swagger.v3.jakartarest.resources.generics.ticket3426.Ticket3426Resource; +import io.swagger.v3.jakartarest.resources.generics.ticket3694.Ticket3694Resource; +import io.swagger.v3.jakartarest.resources.generics.ticket3694.Ticket3694ResourceExtendedType; +import io.swagger.v3.jakartarest.resources.generics.ticket3694.Ticket3694ResourceSimple; +import io.swagger.v3.jakartarest.resources.generics.ticket3694.Ticket3694ResourceSimpleSameReturn; +import io.swagger.v3.jakartarest.resources.rs.ProcessTokenRestService; +import io.swagger.v3.jakartarest.resources.ticket3624.Service; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.Components; @@ -138,15 +138,15 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import org.testng.annotations.Test; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.HEAD; -import javax.ws.rs.OPTIONS; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HEAD; +import jakarta.ws.rs.OPTIONS; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.lang.reflect.Type; @@ -546,6 +546,9 @@ public void testGetResponsesWithComposition() { " format: int32\n" + " MultipleBaseBean:\n" + " type: object\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/MultipleSub1Bean\"\n" + + " - $ref: \"#/components/schemas/MultipleSub2Bean\"\n" + " properties:\n" + " beanType:\n" + " type: string\n" + @@ -1134,6 +1137,9 @@ public void testTicket2340() { " type: string\n" + " discriminator:\n" + " propertyName: type\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/Dog\"\n" + + " - $ref: \"#/components/schemas/Cat\"\n" + " Cat:\n" + " type: object\n" + " allOf:\n" + @@ -2172,7 +2178,7 @@ public void testTicket3074() { OpenAPI oasResult = reader.read(RefParameter3074Resource.class); SerializationMatchers.assertEqualsToYaml(oasResult, RefParameter3074Resource.EXPECTED_YAML_WITH_WRAPPER); - ModelConverters.getInstance().addClassToSkip("io.swagger.v3.jaxrs2.resources.RefParameter3074Resource$Wrapper"); + ModelConverters.getInstance().addClassToSkip("io.swagger.v3.jakartarest.resources.RefParameter3074Resource$Wrapper"); reader = new Reader(new OpenAPI()); oasResult = reader.read(RefParameter3074Resource.class); @@ -3022,6 +3028,9 @@ public void testSchemaProperties() { " schemas:\n" + " MultipleBaseBean:\n" + " type: object\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/MultipleSub1Bean\"\n" + + " - $ref: \"#/components/schemas/MultipleSub2Bean\"\n" + " properties:\n" + " beanType:\n" + " type: string\n" + @@ -4060,6 +4069,9 @@ public void testMisc31() { " MultipleBaseBean:\n" + " type: object\n" + " description: MultipleBaseBean\n" + + " oneOf:\n" + + " - $ref: \"#/components/schemas/MultipleSub1Bean\"\n" + + " - $ref: \"#/components/schemas/MultipleSub2Bean\"\n" + " properties:\n" + " beanType:\n" + " type: string\n" + diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAllOfRefTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAllOfRefTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAllOfRefTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAllOfRefTest.java index f2a5cb29eb..07d2b2c01d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAllOfRefTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAllOfRefTest.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.core.converter.ModelConverters; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.schemaResolution.SchemaResolutionResource; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.schemaResolution.SchemaResolutionResource; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAllOfTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAllOfTest.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAllOfTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAllOfTest.java index f64aafc2ac..8572f42f7a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAllOfTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAllOfTest.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.schemaResolution.SchemaResolutionResourceSimple; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.schemaResolution.SchemaResolutionResourceSimple; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAnnotationTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAnnotationTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAnnotationTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAnnotationTest.java index 57be1ac7f9..b6280d1925 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionAnnotationTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionAnnotationTest.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.core.converter.ModelConverters; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.schemaResolution.SchemaResolutionAnnotatedResource; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.schemaResolution.SchemaResolutionAnnotatedResource; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import org.testng.annotations.Test; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionInlineTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionInlineTest.java similarity index 98% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionInlineTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionInlineTest.java index 320e99b751..11a174240c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/SchemaResolutionInlineTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/SchemaResolutionInlineTest.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2; +package io.swagger.v3.jakartarest; import io.swagger.v3.core.converter.ModelConverters; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; -import io.swagger.v3.jaxrs2.schemaResolution.SchemaResolutionResource; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.schemaResolution.SchemaResolutionResource; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/AbstractAnnotationTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/AbstractAnnotationTest.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/AbstractAnnotationTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/AbstractAnnotationTest.java index 7d268b9e9b..6bf6fbe25c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/AbstractAnnotationTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/AbstractAnnotationTest.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.annotations; +package io.swagger.v3.jakartarest.annotations; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; import io.swagger.v3.core.converter.ModelConverters; import io.swagger.v3.core.util.Yaml; -import io.swagger.v3.jaxrs2.Reader; -import io.swagger.v3.jaxrs2.matchers.SerializationMatchers; +import io.swagger.v3.jakartarest.Reader; +import io.swagger.v3.jakartarest.matchers.SerializationMatchers; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import org.apache.commons.io.IOUtils; @@ -13,10 +13,14 @@ import org.slf4j.LoggerFactory; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.MapperBuilder; +import tools.jackson.dataformat.yaml.YAMLFactoryBuilder; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.function.Consumer; import static org.testng.Assert.fail; @@ -34,11 +38,15 @@ public String readIntoYaml(final Class cls) { OpenAPI openAPI = reader.read(cls); try { - Yaml.mapper().setSerializationInclusion(JsonInclude.Include.NON_NULL); + ObjectMapper mapper = Yaml.mapper().rebuild() + .changeDefaultPropertyInclusion(incl -> incl + .withContentInclusion(JsonInclude.Include.NON_NULL) + .withValueInclusion(JsonInclude.Include.NON_NULL)) + .build(); // parse JSON - JsonNode jsonNodeTree = Yaml.mapper().readTree(Yaml.mapper().writeValueAsString(openAPI)); + JsonNode jsonNodeTree = mapper.readTree(mapper.writeValueAsString(openAPI)); // return it as YAML - return Yaml.mapper().writeValueAsString(jsonNodeTree); + return mapper.writeValueAsString(jsonNodeTree); } catch (Exception e) { return "Empty YAML"; } diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/callbacks/CallbackTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/callbacks/CallbackTest.java similarity index 98% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/callbacks/CallbackTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/callbacks/CallbackTest.java index a8229bfeda..4f967a40e5 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/callbacks/CallbackTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/callbacks/CallbackTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.annotations.callbacks; +package io.swagger.v3.jakartarest.annotations.callbacks; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.callbacks.Callback; @@ -11,11 +11,11 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import org.testng.annotations.Test; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/definition/OpenApiDefinitionTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/definition/OpenApiDefinitionTest.java similarity index 97% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/definition/OpenApiDefinitionTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/definition/OpenApiDefinitionTest.java index e770ca3c7b..cdc4e15356 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/definition/OpenApiDefinitionTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/definition/OpenApiDefinitionTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.annotations.definition; +package io.swagger.v3.jakartarest.annotations.definition; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Contact; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/encoding/EncodingTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/encoding/EncodingTest.java similarity index 98% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/encoding/EncodingTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/encoding/EncodingTest.java index da96efbc6a..8de6b43c60 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/encoding/EncodingTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/encoding/EncodingTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.annotations.encoding; +package io.swagger.v3.jakartarest.annotations.encoding; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; @@ -12,8 +12,8 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import org.testng.annotations.Test; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/examples/ExamplesTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/examples/ExamplesTest.java similarity index 98% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/examples/ExamplesTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/examples/ExamplesTest.java index 423455dbdc..53013dc005 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/examples/ExamplesTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/examples/ExamplesTest.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.annotations.examples; +package io.swagger.v3.jakartarest.annotations.examples; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; @@ -13,9 +13,9 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import org.testng.annotations.Test; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/info/InfoTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/info/InfoTest.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/info/InfoTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/info/InfoTest.java index 692ee4c6b6..f2ac60feed 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/info/InfoTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/info/InfoTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.annotations.info; +package io.swagger.v3.jakartarest.annotations.info; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Contact; import io.swagger.v3.oas.annotations.info.Info; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/operations/AnnotatedOperationMethodTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/operations/AnnotatedOperationMethodTest.java similarity index 99% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/operations/AnnotatedOperationMethodTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/operations/AnnotatedOperationMethodTest.java index aa2f63c48d..fb24a2c048 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/operations/AnnotatedOperationMethodTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/operations/AnnotatedOperationMethodTest.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.annotations.operations; - -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; -import io.swagger.v3.jaxrs2.resources.GenericResponsesResource; -import io.swagger.v3.jaxrs2.resources.HiddenAnnotatedUserResource; -import io.swagger.v3.jaxrs2.resources.HiddenUserResource; -import io.swagger.v3.jaxrs2.resources.PetResource; -import io.swagger.v3.jaxrs2.resources.PetResourceSlashesinPath; -import io.swagger.v3.jaxrs2.resources.SimpleUserResource; -import io.swagger.v3.jaxrs2.resources.UserResource; +package io.swagger.v3.jakartarest.annotations.operations; + +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.resources.GenericResponsesResource; +import io.swagger.v3.jakartarest.resources.HiddenAnnotatedUserResource; +import io.swagger.v3.jakartarest.resources.HiddenUserResource; +import io.swagger.v3.jakartarest.resources.PetResource; +import io.swagger.v3.jakartarest.resources.PetResourceSlashesinPath; +import io.swagger.v3.jakartarest.resources.SimpleUserResource; +import io.swagger.v3.jakartarest.resources.UserResource; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.Explode; @@ -20,8 +20,8 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import org.testng.annotations.Test; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.io.IOException; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/operations/MergedOperationTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/operations/MergedOperationTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/operations/MergedOperationTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/operations/MergedOperationTest.java index 3bdf332501..af79f106ed 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/operations/MergedOperationTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/operations/MergedOperationTest.java @@ -1,16 +1,16 @@ -package io.swagger.v3.jaxrs2.annotations.operations; +package io.swagger.v3.jakartarest.annotations.operations; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import org.testng.annotations.Test; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/parameters/ParametersTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/parameters/ParametersTest.java similarity index 98% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/parameters/ParametersTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/parameters/ParametersTest.java index 4ca727e072..ff64eb5375 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/parameters/ParametersTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/parameters/ParametersTest.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.annotations.parameters; +package io.swagger.v3.jakartarest.annotations.parameters; -import io.swagger.v3.jaxrs2.Reader; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; -import io.swagger.v3.jaxrs2.resources.ResourceWithJacksonBean; -import io.swagger.v3.jaxrs2.resources.ResourceWithKnownInjections; +import io.swagger.v3.jakartarest.Reader; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.resources.ResourceWithJacksonBean; +import io.swagger.v3.jakartarest.resources.ResourceWithKnownInjections; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.Explode; @@ -16,9 +16,9 @@ import io.swagger.v3.oas.models.OpenAPI; import org.testng.annotations.Test; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/pathItems/OperationsWithLinksTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/pathItems/OperationsWithLinksTest.java similarity index 98% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/pathItems/OperationsWithLinksTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/pathItems/OperationsWithLinksTest.java index 1472530b09..4fd2fe2f80 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/pathItems/OperationsWithLinksTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/pathItems/OperationsWithLinksTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.annotations.pathItems; +package io.swagger.v3.jakartarest.annotations.pathItems; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.links.Link; import io.swagger.v3.oas.annotations.links.LinkParameter; @@ -10,10 +10,10 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import org.testng.annotations.Test; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import java.io.IOException; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/readerListener/ReaderListenerTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/readerListener/ReaderListenerTest.java similarity index 80% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/readerListener/ReaderListenerTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/readerListener/ReaderListenerTest.java index eb6ff25269..599a25e8d1 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/readerListener/ReaderListenerTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/readerListener/ReaderListenerTest.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.annotations.readerListener; +package io.swagger.v3.jakartarest.annotations.readerListener; -import io.swagger.v3.jaxrs2.Reader; -import io.swagger.v3.jaxrs2.resources.ReaderListenerResource; +import io.swagger.v3.jakartarest.Reader; +import io.swagger.v3.jakartarest.resources.ReaderListenerResource; import io.swagger.v3.oas.models.OpenAPI; import org.testng.annotations.Test; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/requests/RequestBodyTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/requests/RequestBodyTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/requests/RequestBodyTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/requests/RequestBodyTest.java index 5b8c544bf0..8a798c48a6 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/requests/RequestBodyTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/requests/RequestBodyTest.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.annotations.requests; - -import io.swagger.v3.jaxrs2.Reader; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; -import io.swagger.v3.jaxrs2.it.resources.MultiPartFileResource; -import io.swagger.v3.jaxrs2.it.resources.OctetStreamResource; -import io.swagger.v3.jaxrs2.it.resources.UrlEncodedResource; -import io.swagger.v3.jaxrs2.resources.model.Pet; -import io.swagger.v3.jaxrs2.resources.model.User; +package io.swagger.v3.jakartarest.annotations.requests; + +import io.swagger.v3.jakartarest.Reader; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.it.resources.MultiPartFileResource; +import io.swagger.v3.jakartarest.it.resources.OctetStreamResource; +import io.swagger.v3.jakartarest.it.resources.UrlEncodedResource; +import io.swagger.v3.jakartarest.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; @@ -16,15 +16,15 @@ import io.swagger.v3.oas.models.PathItem; import org.testng.annotations.Test; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PATCH; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PATCH; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; import java.io.IOException; import static org.testng.Assert.assertEquals; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/security/SecurityTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/security/SecurityTest.java similarity index 98% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/security/SecurityTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/security/SecurityTest.java index a1cecd845b..655743014d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/security/SecurityTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/annotations/security/SecurityTest.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.annotations.security; +package io.swagger.v3.jakartarest.annotations.security; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; -import io.swagger.v3.jaxrs2.resources.SecurityResource; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.resources.SecurityResource; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn; import io.swagger.v3.oas.annotations.enums.SecuritySchemeType; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/cdi2/CDIAutodiscoveryTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/cdi2/CDIAutodiscoveryTest.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/cdi2/CDIAutodiscoveryTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/cdi2/CDIAutodiscoveryTest.java index 4820407274..5c09aaf367 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/cdi2/CDIAutodiscoveryTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/cdi2/CDIAutodiscoveryTest.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.cdi2; +package io.swagger.v3.jakartarest.cdi2; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.testng.Arquillian; @@ -7,11 +7,11 @@ import org.testng.AssertJUnit; import org.testng.annotations.Test; -import io.swagger.v3.jaxrs2.SwaggerSerializers; -import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource; +import io.swagger.v3.jakartarest.SwaggerSerializers; +import io.swagger.v3.jakartarest.integration.resources.OpenApiResource; -import javax.enterprise.inject.spi.Extension; -import javax.inject.Inject; +import jakarta.enterprise.inject.spi.Extension; +import jakarta.inject.Inject; public class CDIAutodiscoveryTest extends Arquillian { @@ -30,8 +30,8 @@ public static JavaArchive createDeployment() { @Test void confirmPathClassesWereDiscovered() { String[] expected = { - "io.swagger.v3.jaxrs2.integration.resources.AcceptHeaderOpenApiResource", - "io.swagger.v3.jaxrs2.integration.resources.OpenApiResource" + "io.swagger.v3.jakartarest.integration.resources.AcceptHeaderOpenApiResource", + "io.swagger.v3.jakartarest.integration.resources.OpenApiResource" }; Object[] found = ext.getResources().stream() .map(resource -> resource.getName()) @@ -43,7 +43,7 @@ void confirmPathClassesWereDiscovered() { @Test void confirmProviderClassesWereDiscovered() { String[] expected = { - "io.swagger.v3.jaxrs2.SwaggerSerializers" + "io.swagger.v3.jakartarest.SwaggerSerializers" }; Object[] found = ext.getProviders().stream() .map(resource -> resource.getName()) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/cdi2/DiscoveryTestExtension.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/cdi2/DiscoveryTestExtension.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/cdi2/DiscoveryTestExtension.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/cdi2/DiscoveryTestExtension.java index 1f92dabe47..11b9f705ce 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/cdi2/DiscoveryTestExtension.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/cdi2/DiscoveryTestExtension.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.cdi2; +package io.swagger.v3.jakartarest.cdi2; import java.util.HashSet; import java.util.Set; -import javax.enterprise.event.Observes; -import javax.enterprise.inject.spi.AnnotatedType; -import javax.enterprise.inject.spi.Extension; -import javax.enterprise.inject.spi.ProcessAnnotatedType; -import javax.enterprise.inject.spi.WithAnnotations; -import javax.ws.rs.Path; -import javax.ws.rs.ext.Provider; +import jakarta.enterprise.event.Observes; +import jakarta.enterprise.inject.spi.AnnotatedType; +import jakarta.enterprise.inject.spi.Extension; +import jakarta.enterprise.inject.spi.ProcessAnnotatedType; +import jakarta.enterprise.inject.spi.WithAnnotations; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.ext.Provider; public class DiscoveryTestExtension implements Extension { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndAnnotationScannerTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndAnnotationScannerTest.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndAnnotationScannerTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndAnnotationScannerTest.java index 5f084a4593..2f26db3095 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndAnnotationScannerTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndAnnotationScannerTest.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import java.util.ArrayList; import java.util.Arrays; @@ -7,9 +7,9 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Application; import org.my.project.resources.ResourceInPackageB; import org.testng.annotations.BeforeMethod; @@ -17,7 +17,7 @@ import com.my.project.resources.ResourceInPackageA; -import io.swagger.v3.jaxrs2.Reader; +import io.swagger.v3.jakartarest.Reader; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.integration.GenericOpenApiContext; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndResourcePackagesAnnotationScannerTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndResourcePackagesAnnotationScannerTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndResourcePackagesAnnotationScannerTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndResourcePackagesAnnotationScannerTest.java index 5a14095c8d..2c390ce5a1 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationAndResourcePackagesAnnotationScannerTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationAndResourcePackagesAnnotationScannerTest.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; -import io.swagger.v3.jaxrs2.Reader; +import io.swagger.v3.jakartarest.Reader; import io.swagger.v3.oas.integration.GenericOpenApiContext; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.integration.api.OpenApiContext; @@ -18,7 +18,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.core.Application; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationScannerTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationScannerTest.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationScannerTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationScannerTest.java index af6a944880..53f6c69626 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/JaxrsApplicationScannerTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/JaxrsApplicationScannerTest.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import java.util.Collections; import java.util.Set; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.core.Application; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/SortedOutputTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/SortedOutputTest.java similarity index 89% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/SortedOutputTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/SortedOutputTest.java index 12a820b359..6ce4c64c8c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/integration/SortedOutputTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/integration/SortedOutputTest.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.integration; +package io.swagger.v3.jakartarest.integration; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.MapperFeature; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.SerializationFeature; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.core.jackson.PathsSerializer; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -21,9 +21,9 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Application; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; @@ -148,19 +148,23 @@ public static abstract class SortedSchemaMixin { public static class SortedProcessor implements ObjectMapperProcessor { @Override - public void processOutputJsonObjectMapper(ObjectMapper mapper) { - mapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); - mapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); - mapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin.class); - mapper.addMixIn(Schema.class, SortedSchemaMixin.class); + public ObjectMapper processOutputJsonObjectMapper(ObjectMapper mapper) { + return mapper.rebuild() + .configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true) + .configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true) + .addMixIn(OpenAPI.class, SortedOpenAPIMixin.class) + .addMixIn(Schema.class, SortedSchemaMixin.class) + .build(); } @Override - public void processOutputYamlObjectMapper(ObjectMapper mapper) { - mapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); - mapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); - mapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin.class); - mapper.addMixIn(Schema.class, SortedSchemaMixin.class); + public ObjectMapper processOutputYamlObjectMapper(ObjectMapper mapper) { + return mapper.rebuild() + .configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true) + .configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true) + .addMixIn(OpenAPI.class, SortedOpenAPIMixin.class) + .addMixIn(Schema.class, SortedSchemaMixin.class) + .build(); } } diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/OpenApiResourceIT.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/OpenApiResourceIT.java similarity index 97% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/OpenApiResourceIT.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/OpenApiResourceIT.java index 8d8b2fabee..1faea23282 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/OpenApiResourceIT.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/OpenApiResourceIT.java @@ -1,11 +1,13 @@ -package io.swagger.v3.jaxrs2.it; +package io.swagger.v3.jakartarest.it; -import com.fasterxml.jackson.databind.SerializationFeature; +import tools.jackson.databind.DeserializationFeature; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.SerializationFeature; import io.restassured.http.ContentType; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Yaml; -import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest; +import io.swagger.v3.jakartarest.annotations.AbstractAnnotationTest; import org.testng.SkipException; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -700,14 +702,20 @@ public void testYamlOpenAPI31WithBootstrapServlet() throws Exception { } private String formatYaml(String source) throws IOException { - return Yaml.mapper().configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true) + ObjectMapper mapper = Yaml.mapper().rebuild() + .configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true) + .build(); + return mapper .writerWithDefaultPrettyPrinter() - .writeValueAsString(Yaml.mapper().readValue(source, Object.class)); + .writeValueAsString(mapper.readValue(source, Object.class)); } private String formatJson(String source) throws IOException { - return Json.mapper().configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true) + ObjectMapper mapper = Json.mapper().rebuild() + .configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true) + .build(); + return mapper .writerWithDefaultPrettyPrinter() - .writeValueAsString(Json.mapper().readValue(source, Object.class)); + .writeValueAsString(mapper.readValue(source, Object.class)); } } diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/model/Widget.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/model/Widget.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/model/Widget.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/model/Widget.java index 31c2290688..0b049df847 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/model/Widget.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/model/Widget.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.it.model; +package io.swagger.v3.jakartarest.it.model; public class Widget { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/CarResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/CarResource.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/CarResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/CarResource.java index eea2792fce..0546ed147c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/CarResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/CarResource.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.it.resources; +package io.swagger.v3.jakartarest.it.resources; -import javax.ws.rs.Consumes; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.Path; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; @@ -14,9 +14,9 @@ import java.util.Arrays; import java.util.List; -import javax.ws.rs.GET; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response; @Path("/cars") @Tag(name = "cars") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/MultiPartFileResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/MultiPartFileResource.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/MultiPartFileResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/MultiPartFileResource.java index 54c27261cb..960c2c3dfe 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/MultiPartFileResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/MultiPartFileResource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.it.resources; +package io.swagger.v3.jakartarest.it.resources; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; import org.glassfish.jersey.media.multipart.FormDataParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.io.InputStream; @Path("/files") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/OctetStreamResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/OctetStreamResource.java similarity index 72% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/OctetStreamResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/OctetStreamResource.java index 9fb3316667..4057b50e7f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/OctetStreamResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/OctetStreamResource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.it.resources; +package io.swagger.v3.jakartarest.it.resources; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.Consumes; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.io.InputStream; @Path("/files") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/UrlEncodedResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/UrlEncodedResource.java similarity index 61% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/UrlEncodedResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/UrlEncodedResource.java index ace2faeca9..09181899ff 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/UrlEncodedResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/UrlEncodedResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.it.resources; +package io.swagger.v3.jakartarest.it.resources; -import javax.ws.rs.Consumes; -import javax.ws.rs.FormParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; @Path("/users") @Produces("application/json") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/WidgetResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/WidgetResource.java similarity index 78% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/WidgetResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/WidgetResource.java index ce2e84069e..125d4d4cd7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/it/resources/WidgetResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/it/resources/WidgetResource.java @@ -1,19 +1,19 @@ -package io.swagger.v3.jaxrs2.it.resources; +package io.swagger.v3.jakartarest.it.resources; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; -import io.swagger.v3.jaxrs2.it.model.Widget; +import io.swagger.v3.jakartarest.it.model.Widget; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; @Path("/widgets") @Tag(name="widgets") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/matchers/SerializationMatchers.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/matchers/SerializationMatchers.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/matchers/SerializationMatchers.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/matchers/SerializationMatchers.java index d66f3a0706..83ae3ddcf7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/matchers/SerializationMatchers.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/matchers/SerializationMatchers.java @@ -1,9 +1,10 @@ -package io.swagger.v3.jaxrs2.matchers; +package io.swagger.v3.jakartarest.matchers; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.NumericNode; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.NumericNode; +import tools.jackson.databind.node.ObjectNode; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Json31; @@ -44,7 +45,7 @@ private static void apply(Object objectToSerialize, String str, ObjectMapper map ObjectNode rhs = null; try { rhs = mapper.readValue(str, ObjectNode.class); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Failed to read value", e); } if (exactMatch || !lhs.equals(new ObjectNodeComparator(), rhs)) { @@ -58,7 +59,7 @@ private static void apply31(Object objectToSerialize, String str, ObjectMapper m ObjectNode rhs = null; try { rhs = mapper.readValue(str, ObjectNode.class); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Failed to read value", e); } if (!lhs.equals(new ObjectNodeComparator(), rhs)) { @@ -77,7 +78,7 @@ public int compare(JsonNode o1, JsonNode o2) { double d2 = ((NumericNode) o2).asDouble(); return Double.compare(d1, d2); } - int comp = o1.asText().compareTo(o2.asText()); + int comp = o1.asString().compareTo(o2.asString()); if (comp == 0) { return Integer.compare(o1.hashCode(), o2.hashCode()); } diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/EmptyPetResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/EmptyPetResource.java similarity index 62% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/EmptyPetResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/EmptyPetResource.java index 87bc675cc6..667fc47ef7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/EmptyPetResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/EmptyPetResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore; +package io.swagger.v3.jakartarest.petstore; /** * An Empty PetResource Class diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/PetResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/PetResource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/PetResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/PetResource.java index 064163ab92..51a4ca94a3 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/PetResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/PetResource.java @@ -1,25 +1,25 @@ -package io.swagger.v3.jaxrs2.petstore; +package io.swagger.v3.jakartarest.petstore; -import io.swagger.v3.jaxrs2.resources.QueryResultBean; -import io.swagger.v3.jaxrs2.resources.data.PetData; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.QueryResultBean; +import io.swagger.v3.jakartarest.resources.data.PetData; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @Consumes("application/json") @Path("/pet") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/WebHookResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/WebHookResource.java similarity index 97% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/WebHookResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/WebHookResource.java index 6cee505fe5..c0dbe6e75d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/WebHookResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/WebHookResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.petstore; +package io.swagger.v3.jakartarest.petstore; -import io.swagger.v3.jaxrs2.petstore.parameter.Parameters31Resource; +import io.swagger.v3.jakartarest.petstore.parameter.Parameters31Resource; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.StringToClassMapItem; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/ComplexCallback31Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/ComplexCallback31Resource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/ComplexCallback31Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/ComplexCallback31Resource.java index 693833d8de..e8a29e4509 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/ComplexCallback31Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/ComplexCallback31Resource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.petstore.callback; +package io.swagger.v3.jakartarest.petstore.callback; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.StringToClassMapItem; @@ -10,9 +10,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class ComplexCallback31Resource { @Callbacks({ diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/ComplexCallbackResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/ComplexCallbackResource.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/ComplexCallbackResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/ComplexCallbackResource.java index 2fbdb5fa5e..2a55cc9300 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/ComplexCallbackResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/ComplexCallbackResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.petstore.callback; +package io.swagger.v3.jakartarest.petstore.callback; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.callbacks.Callback; @@ -9,9 +9,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class ComplexCallbackResource { @Callbacks({ diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/MultipleCallbacksTestWithOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/MultipleCallbacksTestWithOperationResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/MultipleCallbacksTestWithOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/MultipleCallbacksTestWithOperationResource.java index a768636005..7144438825 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/MultipleCallbacksTestWithOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/MultipleCallbacksTestWithOperationResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.callback; +package io.swagger.v3.jakartarest.petstore.callback; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.callbacks.Callback; @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class MultipleCallbacksTestWithOperationResource { @Callbacks({ diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/RepeatableCallbackResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/RepeatableCallbackResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/RepeatableCallbackResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/RepeatableCallbackResource.java index 8f15d6e05e..e503380a61 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/RepeatableCallbackResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/RepeatableCallbackResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.callback; +package io.swagger.v3.jakartarest.petstore.callback; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.callbacks.Callback; @@ -6,8 +6,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RepeatableCallbackResource { @Callback(name = "testCallback", operation = diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/SimpleCallbackWithOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/SimpleCallbackWithOperationResource.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/SimpleCallbackWithOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/SimpleCallbackWithOperationResource.java index e859cea767..b93e632c6b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/callback/SimpleCallbackWithOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/callback/SimpleCallbackWithOperationResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.callback; +package io.swagger.v3.jakartarest.petstore.callback; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.callbacks.Callback; @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class SimpleCallbackWithOperationResource { @Callbacks({ diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/example/ExamplesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/example/ExamplesResource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/example/ExamplesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/example/ExamplesResource.java index 803ad3bb70..7c10b3750c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/example/ExamplesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/example/ExamplesResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.petstore.example; +package io.swagger.v3.jakartarest.petstore.example; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; @@ -11,8 +11,8 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Examples Resource Scenario diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/example/SubscriptionResponse.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/example/SubscriptionResponse.java similarity index 58% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/example/SubscriptionResponse.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/example/SubscriptionResponse.java index a537194be1..17ad95b54f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/example/SubscriptionResponse.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/example/SubscriptionResponse.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.example; +package io.swagger.v3.jakartarest.petstore.example; public class SubscriptionResponse { public String subscriptionId; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/link/LinksAndContent31Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/link/LinksAndContent31Resource.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/link/LinksAndContent31Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/link/LinksAndContent31Resource.java index c091f5c76b..d873b3fd77 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/link/LinksAndContent31Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/link/LinksAndContent31Resource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.link; +package io.swagger.v3.jakartarest.petstore.link; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.StringToClassMapItem; @@ -12,9 +12,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with Links diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/link/LinksResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/link/LinksResource.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/link/LinksResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/link/LinksResource.java index 4b853e1035..6eba70a9af 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/link/LinksResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/link/LinksResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.link; +package io.swagger.v3.jakartarest.petstore.link; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.links.Link; @@ -7,9 +7,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with Links diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/openapidefintion/OpenAPI31DefinitionResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/openapidefintion/OpenAPI31DefinitionResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/openapidefintion/OpenAPI31DefinitionResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/openapidefintion/OpenAPI31DefinitionResource.java index 148fb983e1..ae4ff5255f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/openapidefintion/OpenAPI31DefinitionResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/openapidefintion/OpenAPI31DefinitionResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.openapidefintion; +package io.swagger.v3.jakartarest.petstore.openapidefintion; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.OpenAPIDefinition; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/openapidefintion/OpenAPIDefinitionResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/openapidefintion/OpenAPIDefinitionResource.java similarity index 97% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/openapidefintion/OpenAPIDefinitionResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/openapidefintion/OpenAPIDefinitionResource.java index a2f8da1a6c..ea336f8f25 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/openapidefintion/OpenAPIDefinitionResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/openapidefintion/OpenAPIDefinitionResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.openapidefintion; +package io.swagger.v3.jakartarest.petstore.openapidefintion; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.OpenAPIDefinition; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/AnnotatedSameNameOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/AnnotatedSameNameOperationResource.java similarity index 79% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/AnnotatedSameNameOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/AnnotatedSameNameOperationResource.java index 065fba357d..57a8c10414 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/AnnotatedSameNameOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/AnnotatedSameNameOperationResource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/ExternalDocumentationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/ExternalDocumentationResource.java similarity index 75% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/ExternalDocumentationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/ExternalDocumentationResource.java index c4555b8c7d..39fb370ddc 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/ExternalDocumentationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/ExternalDocumentationResource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Resource with Operations Examples diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/FullyAnnotatedOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/FullyAnnotatedOperationResource.java similarity index 81% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/FullyAnnotatedOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/FullyAnnotatedOperationResource.java index 8cdbaac346..471ab80c7b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/FullyAnnotatedOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/FullyAnnotatedOperationResource.java @@ -1,17 +1,17 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Resource with Operations Examples diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/HiddenOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/HiddenOperationResource.java similarity index 71% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/HiddenOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/HiddenOperationResource.java index 3309f86f02..8f04e1d7c0 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/HiddenOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/HiddenOperationResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import io.swagger.v3.jaxrs2.resources.model.Pet; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Hidden Operation diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/InterfaceResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/InterfaceResource.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/InterfaceResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/InterfaceResource.java index 1370c137a7..74645f2c28 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/InterfaceResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/InterfaceResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Interface resource diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/NotAnnotatedSameNameOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/NotAnnotatedSameNameOperationResource.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/NotAnnotatedSameNameOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/NotAnnotatedSameNameOperationResource.java index b214571722..5ae76743cc 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/NotAnnotatedSameNameOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/NotAnnotatedSameNameOperationResource.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/OperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/OperationResource.java similarity index 86% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/OperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/OperationResource.java index f7860c1257..8a4f1cfe2a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/OperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/OperationResource.java @@ -1,20 +1,20 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.HEAD; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HEAD; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; /** * Resource with Complete Operations Examples diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/OperationWithoutAnnotationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/OperationWithoutAnnotationResource.java similarity index 68% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/OperationWithoutAnnotationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/OperationWithoutAnnotationResource.java index 4b245eb8de..1018098803 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/OperationWithoutAnnotationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/OperationWithoutAnnotationResource.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/ServerOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/ServerOperationResource.java similarity index 80% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/ServerOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/ServerOperationResource.java index 484f639c1a..744663ec69 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/ServerOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/ServerOperationResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.servers.Server; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Hidden Operation diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/SubResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/SubResource.java similarity index 73% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/SubResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/SubResource.java index 6490f81772..a9e90ae193 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/operation/SubResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/operation/SubResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.petstore.operation; +package io.swagger.v3.jakartarest.petstore.operation; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; /** * SubResource diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ArraySchemaResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ArraySchemaResource.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ArraySchemaResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ArraySchemaResource.java index 98561900ec..17ef86f204 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ArraySchemaResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ArraySchemaResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -9,9 +9,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; public class ArraySchemaResource { @Path("/arrayschema") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ComplexParameterResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ComplexParameterResource.java similarity index 83% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ComplexParameterResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ComplexParameterResource.java index c9d94f0538..04dc6b7774 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ComplexParameterResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ComplexParameterResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a multiple annotated. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ComplexParameterWithOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ComplexParameterWithOperationResource.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ComplexParameterWithOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ComplexParameterWithOperationResource.java index cea865f8ed..eb2e5f63f8 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ComplexParameterWithOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ComplexParameterWithOperationResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a multiple annotated. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/MultipleNotAnnotatedParameter.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/MultipleNotAnnotatedParameter.java similarity index 75% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/MultipleNotAnnotatedParameter.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/MultipleNotAnnotatedParameter.java index 38b5348810..ed0588a5bb 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/MultipleNotAnnotatedParameter.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/MultipleNotAnnotatedParameter.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Class with a multiple not annotated parameter. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java similarity index 70% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java index 86918b3210..4bee4358d0 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java similarity index 78% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java index bf6fa5e5c5..743a6a0dcc 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java index 381f1d947b..87c5fff2c8 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/Parameters31Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/Parameters31Resource.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/Parameters31Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/Parameters31Resource.java index d6e6d0f945..9e9f5de647 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/Parameters31Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/Parameters31Resource.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.Pet; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.StringToClassMapItem; @@ -13,10 +13,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Resource with some Parameters examples diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ParametersResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ParametersResource.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ParametersResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ParametersResource.java index 7562b26012..ea723407c3 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/ParametersResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/ParametersResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -10,10 +10,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Resource with some Parameters examples diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/RepeatableParametersResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/RepeatableParametersResource.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/RepeatableParametersResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/RepeatableParametersResource.java index 1b5fb2d4ed..6bc29e6364 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/RepeatableParametersResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/RepeatableParametersResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -10,9 +10,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; public class RepeatableParametersResource { @Path("/repeatableparameter") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/SingleJaxRSAnnotatedParameter.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/SingleJaxRSAnnotatedParameter.java similarity index 64% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/SingleJaxRSAnnotatedParameter.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/SingleJaxRSAnnotatedParameter.java index f12f59ff57..9ceca3ca68 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/SingleJaxRSAnnotatedParameter.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/SingleJaxRSAnnotatedParameter.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/SingleNotAnnotatedParameter.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/SingleNotAnnotatedParameter.java similarity index 66% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/SingleNotAnnotatedParameter.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/SingleNotAnnotatedParameter.java index 29ec4f3def..ecdbd311d5 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/parameter/SingleNotAnnotatedParameter.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/parameter/SingleNotAnnotatedParameter.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.petstore.parameter; +package io.swagger.v3.jakartarest.petstore.parameter; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Class with a single not annotated parameter. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBody31Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBody31Resource.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBody31Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBody31Resource.java index 046f492e5d..8ab1d63966 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBody31Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBody31Resource.java @@ -1,17 +1,17 @@ -package io.swagger.v3.jaxrs2.petstore.requestbody; +package io.swagger.v3.jakartarest.petstore.requestbody; -import io.swagger.v3.jaxrs2.petstore.parameter.Parameters31Resource; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.petstore.parameter.Parameters31Resource; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody examples diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyMethodPriorityResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyMethodPriorityResource.java similarity index 81% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyMethodPriorityResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyMethodPriorityResource.java index 17b4f15b05..16d62b32af 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyMethodPriorityResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyMethodPriorityResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.petstore.requestbody; +package io.swagger.v3.jakartarest.petstore.requestbody; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody inside Operation and another in Method diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyParameterPriorityResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyParameterPriorityResource.java similarity index 82% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyParameterPriorityResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyParameterPriorityResource.java index ff4f43191c..0c86ebe90e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyParameterPriorityResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyParameterPriorityResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.petstore.requestbody; +package io.swagger.v3.jakartarest.petstore.requestbody; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody inside Operation and another in Method diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyResource.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyResource.java index 9109e4f43e..bf10158164 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/requestbody/RequestBodyResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/requestbody/RequestBodyResource.java @@ -1,20 +1,20 @@ -package io.swagger.v3.jaxrs2.petstore.requestbody; +package io.swagger.v3.jakartarest.petstore.requestbody; -import io.swagger.v3.jaxrs2.resources.model.Pet; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody examples diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/ComplexResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/ComplexResponseResource.java similarity index 82% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/ComplexResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/ComplexResponseResource.java index ba876aca12..ee99061857 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/ComplexResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/ComplexResponseResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with some responses diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/ImplementationResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/ImplementationResponseResource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/ImplementationResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/ImplementationResponseResource.java index 64baf672fd..39596d6844 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/ImplementationResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/ImplementationResponseResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with a Response at Method Level diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/MethodArrayResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/MethodArrayResponseResource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/MethodArrayResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/MethodArrayResponseResource.java index 7bcd784a23..b7063a74e7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/MethodArrayResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/MethodArrayResponseResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.List; /** diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/MethodResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/MethodResponseResource.java similarity index 65% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/MethodResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/MethodResponseResource.java index 448fb3a944..f0ebef1267 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/MethodResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/MethodResponseResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Response at Method Level diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/NoImplementationResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/NoImplementationResponseResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/NoImplementationResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/NoImplementationResponseResource.java index 13b0671e61..0bccf25e28 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/NoImplementationResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/NoImplementationResponseResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.links.Link; import io.swagger.v3.oas.annotations.links.LinkParameter; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Resource with a Response at Method Level diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/NoResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/NoResponseResource.java similarity index 59% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/NoResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/NoResponseResource.java index 259eef5ceb..6ba7e3cf75 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/NoResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/NoResponseResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with a Response at Method Level diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/OperationResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/OperationResponseResource.java similarity index 67% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/OperationResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/OperationResponseResource.java index 9c8845a659..1f521c8c68 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/OperationResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/OperationResponseResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with the response in the Operation Annotation diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/PriorityResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/PriorityResponseResource.java similarity index 70% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/PriorityResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/PriorityResponseResource.java index 24f11f7c4e..440b4283e1 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/responses/PriorityResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/responses/PriorityResponseResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.petstore.responses; +package io.swagger.v3.jakartarest.petstore.responses; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Response at Method Level and Operation Level. diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/security/SecurityResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/security/SecurityResource.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/security/SecurityResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/security/SecurityResource.java index 4d31c7a537..1e633a92d2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/security/SecurityResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/security/SecurityResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.security; +package io.swagger.v3.jakartarest.petstore.security; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn; @@ -9,10 +9,10 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityScheme; -import javax.ws.rs.GET; -import javax.ws.rs.PATCH; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PATCH; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; @SecurityScheme(name = "myOauth2Security", type = SecuritySchemeType.OAUTH2, diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/CompleteTagResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/CompleteTagResource.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/CompleteTagResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/CompleteTagResource.java index 22ccdb58d4..a464ab3cda 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/CompleteTagResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/CompleteTagResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.petstore.tags; +package io.swagger.v3.jakartarest.petstore.tags; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @OpenAPIDefinition(tags = { @Tag(name = "Definition First Tag"), diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagClassResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagClassResource.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagClassResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagClassResource.java index 69b9d0911b..2f4a3f6a10 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagClassResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagClassResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.tags; +package io.swagger.v3.jakartarest.petstore.tags; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagMethodResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagMethodResource.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagMethodResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagMethodResource.java index 4398f4b50b..e00db646ec 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagMethodResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagMethodResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.petstore.tags; +package io.swagger.v3.jakartarest.petstore.tags; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class TagMethodResource { @GET diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagOpenAPIDefinitionResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagOpenAPIDefinitionResource.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagOpenAPIDefinitionResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagOpenAPIDefinitionResource.java index 854e3eda73..e1990b0a0f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagOpenAPIDefinitionResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagOpenAPIDefinitionResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore.tags; +package io.swagger.v3.jakartarest.petstore.tags; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagOperationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagOperationResource.java similarity index 69% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagOperationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagOperationResource.java index 8ea5fc2894..64a71ba6b7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore/tags/TagOperationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore/tags/TagOperationResource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.petstore.tags; +package io.swagger.v3.jakartarest.petstore.tags; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Tag at Operation Level diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Category.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Category.java similarity index 78% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Category.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Category.java index 1c0fe76252..2736fa2859 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Category.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Category.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.petstore31; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Category") public class Category { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Pet.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Pet.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Pet.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Pet.java index cb553fe51b..8c1d21bf87 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Pet.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Pet.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.petstore31; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/PetData.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/PetData.java similarity index 99% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/PetData.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/PetData.java index cd03637c58..06ed29fa14 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/PetData.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/PetData.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.petstore31; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/PetResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/PetResource.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/PetResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/PetResource.java index 5e51e9de27..ca47f05b1c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/PetResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/PetResource.java @@ -1,23 +1,23 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.petstore31; -import io.swagger.v3.jaxrs2.resources.QueryResultBean; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.QueryResultBean; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @Consumes("application/json") @Path("/pet") diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/SimpleCategory.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/SimpleCategory.java new file mode 100644 index 0000000000..26eaec1328 --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/SimpleCategory.java @@ -0,0 +1,2 @@ +package io.swagger.v3.jakartarest.petstore31; +public class SimpleCategory {} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/SimpleTag.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/SimpleTag.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/SimpleTag.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/SimpleTag.java index fb0cd43f67..469b7ff8e7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/SimpleTag.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/SimpleTag.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.petstore31; import io.swagger.v3.oas.annotations.StringToClassMapItem; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Tag.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Tag.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Tag.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Tag.java index 3c5232af9e..987a0dd186 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Tag.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/Tag.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.petstore31; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; import io.swagger.v3.oas.annotations.StringToClassMapItem; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/TagResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/TagResource.java similarity index 69% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/TagResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/TagResource.java index ef9db8d15b..bb63e7dd84 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/TagResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/TagResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.petstore31; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("/tag") public class TagResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/User.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/User.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/User.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/User.java index 5a1866b567..a614847ed5 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/User.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/petstore31/User.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.petstore31; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") public class User { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Address.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Address.java similarity index 97% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Address.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Address.java index 5cbcff26c0..adf34f6cfb 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Address.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Address.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.DependentRequired; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ArraySchemaImplementationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ArraySchemaImplementationResource.java similarity index 81% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ArraySchemaImplementationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ArraySchemaImplementationResource.java index 45435e2878..2b567981f5 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ArraySchemaImplementationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ArraySchemaImplementationResource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.List; public class ArraySchemaImplementationResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BasicClass.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BasicClass.java similarity index 59% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BasicClass.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BasicClass.java index 66d5a9e24f..17c577f602 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BasicClass.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BasicClass.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; public class BasicClass { public void emptyMethod() { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BasicFieldsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BasicFieldsResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BasicFieldsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BasicFieldsResource.java index 5c4b9649b5..120623e9eb 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BasicFieldsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BasicFieldsResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.Category; +import io.swagger.v3.jakartarest.resources.model.Category; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; @@ -8,10 +8,10 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; public class BasicFieldsResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BinaryParameterResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BinaryParameterResource.java similarity index 78% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BinaryParameterResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BinaryParameterResource.java index 954a15e065..09c2a6b191 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BinaryParameterResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BinaryParameterResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; -import io.swagger.v3.jaxrs2.resources.model.Item; +import io.swagger.v3.jakartarest.resources.model.Item; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.headers.Header; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BookStoreTicket2646.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BookStoreTicket2646.java similarity index 69% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BookStoreTicket2646.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BookStoreTicket2646.java index 9ac33cde6a..f99ffe4e60 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/BookStoreTicket2646.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/BookStoreTicket2646.java @@ -1,17 +1,17 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import java.util.Arrays; -import javax.ws.rs.DELETE; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; @Path("/bookstore") public class BookStoreTicket2646 { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ClassPathParentResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ClassPathParentResource.java similarity index 70% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ClassPathParentResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ClassPathParentResource.java index 6f481dde48..f3110d18d0 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ClassPathParentResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ClassPathParentResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.Path; +import jakarta.ws.rs.Path; @Path("/v1") public class ClassPathParentResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ClassPathSubResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ClassPathSubResource.java similarity index 79% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ClassPathSubResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ClassPathSubResource.java index 755c3b8dd1..0d7c1b7ded 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ClassPathSubResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ClassPathSubResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.info.Info; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; @OpenAPIDefinition(info = @Info(description = "Subresource Class")) @Path("subresource") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Client.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Client.java similarity index 89% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Client.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Client.java index 0590c05b7b..15543b9ff9 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Client.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Client.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; public class Client { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/CompleteFieldsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/CompleteFieldsResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/CompleteFieldsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/CompleteFieldsResource.java index 8591820832..ea1fa58975 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/CompleteFieldsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/CompleteFieldsResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.Operation; @@ -8,9 +8,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class CompleteFieldsResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/CreditCard.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/CreditCard.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/CreditCard.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/CreditCard.java index 5bea0845de..e49e406b7b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/CreditCard.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/CreditCard.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; public class CreditCard { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DefaultResponseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DefaultResponseResource.java similarity index 55% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DefaultResponseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DefaultResponseResource.java index 869590a7d3..7240ed66d4 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DefaultResponseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DefaultResponseResource.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class DefaultResponseResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DeprecatedFieldsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DeprecatedFieldsResource.java similarity index 64% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DeprecatedFieldsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DeprecatedFieldsResource.java index 4d4f98b7c6..e1f9cdba1e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DeprecatedFieldsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DeprecatedFieldsResource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class DeprecatedFieldsResource { @GET diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedOperationIdResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedOperationIdResource.java similarity index 84% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedOperationIdResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedOperationIdResource.java index 77c676cff7..02c13185aa 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedOperationIdResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedOperationIdResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class DuplicatedOperationIdResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedOperationMethodNameResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedOperationMethodNameResource.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedOperationMethodNameResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedOperationMethodNameResource.java index 9e9fe62623..8b175c9828 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedOperationMethodNameResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedOperationMethodNameResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class DuplicatedOperationMethodNameResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedSecurityResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedSecurityResource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedSecurityResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedSecurityResource.java index d85a347423..5ea9d56606 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/DuplicatedSecurityResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/DuplicatedSecurityResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn; @@ -9,8 +9,8 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityScheme; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @SecurityScheme(name = "myOauth2Security", type = SecuritySchemeType.OAUTH2, diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/EnhancedResponsesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/EnhancedResponsesResource.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/EnhancedResponsesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/EnhancedResponsesResource.java index 945d9431bf..e3f99ce75e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/EnhancedResponsesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/EnhancedResponsesResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class EnhancedResponsesResource implements ResponsesInterface{ diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/EnumParameterResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/EnumParameterResource.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/EnumParameterResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/EnumParameterResource.java index d039b48711..ec4340eea8 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/EnumParameterResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/EnumParameterResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -8,15 +8,15 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; public class EnumParameterResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ExternalDocsReference.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ExternalDocsReference.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ExternalDocsReference.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ExternalDocsReference.java index be29e64543..4495c6e9fc 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ExternalDocsReference.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ExternalDocsReference.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @ExternalDocumentation( description = "External documentation description in class", diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/GenericResponsesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/GenericResponsesResource.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/GenericResponsesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/GenericResponsesResource.java index 62137fc19f..7e88507d74 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/GenericResponsesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/GenericResponsesResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/HiddenAnnotatedUserResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/HiddenAnnotatedUserResource.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/HiddenAnnotatedUserResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/HiddenAnnotatedUserResource.java index ebf3f0469b..6ed3e45cba 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/HiddenAnnotatedUserResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/HiddenAnnotatedUserResource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.data.UserData; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.data.UserData; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response; @Path("/user") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/HiddenUserResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/HiddenUserResource.java similarity index 68% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/HiddenUserResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/HiddenUserResource.java index 0d4ec7c430..5e40a1f941 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/HiddenUserResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/HiddenUserResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.data.UserData; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.data.UserData; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response; @Path("/user") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/JsonIdentityCyclicResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/JsonIdentityCyclicResource.java similarity index 64% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/JsonIdentityCyclicResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/JsonIdentityCyclicResource.java index 79c11c038a..0921df5876 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/JsonIdentityCyclicResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/JsonIdentityCyclicResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.ModelWithJsonIdentityCyclic; +import io.swagger.v3.jakartarest.resources.model.ModelWithJsonIdentityCyclic; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response; @Path("/pet") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/JsonIdentityResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/JsonIdentityResource.java similarity index 64% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/JsonIdentityResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/JsonIdentityResource.java index 96c0adeee9..29db68befe 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/JsonIdentityResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/JsonIdentityResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.ModelWithJsonIdentity; +import io.swagger.v3.jakartarest.resources.model.ModelWithJsonIdentity; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response; @Path("/pet") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Misc31Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Misc31Resource.java similarity index 55% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Misc31Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Misc31Resource.java index e06a3bb549..351fe3c4de 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Misc31Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Misc31Resource.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; @Path("/pet") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ModelWithOAS31Stuff.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ModelWithOAS31Stuff.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ModelWithOAS31Stuff.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ModelWithOAS31Stuff.java index c74edd2198..c3aab5675e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ModelWithOAS31Stuff.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ModelWithOAS31Stuff.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.MultipleBaseBean; +import io.swagger.v3.jakartarest.resources.model.MultipleBaseBean; import io.swagger.v3.oas.annotations.StringToClassMapItem; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MyClass.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MyClass.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MyClass.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MyClass.java index 54d22a1e07..f4cec3a578 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MyClass.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MyClass.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class MyClass extends MySuperClass { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MyOtherClass.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MyOtherClass.java similarity index 66% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MyOtherClass.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MyOtherClass.java index 628a663901..b3c862728c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MyOtherClass.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MyOtherClass.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; public class MyOtherClass extends MySuperClass { diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MySuperClass.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MySuperClass.java new file mode 100644 index 0000000000..9b6a8cff13 --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/MySuperClass.java @@ -0,0 +1,8 @@ +package io.swagger.v3.jakartarest.resources; + +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; + +@XmlAccessorType(XmlAccessType.FIELD) +public class MySuperClass { +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/NoPathSubResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/NoPathSubResource.java similarity index 71% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/NoPathSubResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/NoPathSubResource.java index cd5180b524..f39fe27213 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/NoPathSubResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/NoPathSubResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; +import jakarta.ws.rs.GET; /** * The {@code NoPathSubResource} class defines test sub-resource without - * {@link javax.ws.rs.Path} annotations. + * {@link jakarta.ws.rs.Path} annotations. */ public class NoPathSubResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ParameterMaximumValueResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ParameterMaximumValueResource.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ParameterMaximumValueResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ParameterMaximumValueResource.java index cd02a32c0f..fa093817ba 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ParameterMaximumValueResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ParameterMaximumValueResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -7,14 +7,14 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; import java.util.List; @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ParametersResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ParametersResource.java similarity index 86% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ParametersResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ParametersResource.java index cc9bc51678..26de842b66 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ParametersResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ParametersResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class ParametersResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PetResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PetResource.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PetResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PetResource.java index bfa33d524d..4bd4072c68 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PetResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PetResource.java @@ -1,26 +1,26 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.data.PetData; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Category; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.data.PetData; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Category; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.MatrixParam; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.MatrixParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @Consumes("application/json") @Path("/pet") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PetResourceSlashesinPath.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PetResourceSlashesinPath.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PetResourceSlashesinPath.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PetResourceSlashesinPath.java index a0008d8917..5936a561f2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PetResourceSlashesinPath.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PetResourceSlashesinPath.java @@ -1,26 +1,26 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.data.PetData; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.Category; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.data.PetData; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.Category; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.MatrixParam; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.MatrixParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @Consumes("application/json") @Path("pet") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PostalCodeNumberPattern.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PostalCodeNumberPattern.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PostalCodeNumberPattern.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PostalCodeNumberPattern.java index 8df10e618c..3a232235ed 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PostalCodeNumberPattern.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PostalCodeNumberPattern.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PostalCodePattern.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PostalCodePattern.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PostalCodePattern.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PostalCodePattern.java index 379be42ecd..864578eb29 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/PostalCodePattern.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/PostalCodePattern.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/QueryResultBean.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/QueryResultBean.java similarity index 83% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/QueryResultBean.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/QueryResultBean.java index 4e98dee82c..f9bc324a81 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/QueryResultBean.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/QueryResultBean.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.QueryParam; public class QueryResultBean { @QueryParam("skip") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ReaderListenerResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ReaderListenerResource.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ReaderListenerResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ReaderListenerResource.java index 5e93d368ac..e7bb169e83 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ReaderListenerResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ReaderListenerResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.ReaderListener; +import io.swagger.v3.jakartarest.ReaderListener; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; @@ -9,10 +9,10 @@ import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; public class ReaderListenerResource implements ReaderListener { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefCallbackResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefCallbackResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefCallbackResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefCallbackResource.java index b4c5e65e06..572493328a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefCallbackResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefCallbackResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.callbacks.Callback; @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RefCallbackResource { @Callbacks({ diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefExamplesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefExamplesResource.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefExamplesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefExamplesResource.java index 43745f1c0b..41ec25cb38 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefExamplesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefExamplesResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.petstore.example.SubscriptionResponse; +import io.swagger.v3.jakartarest.petstore.example.SubscriptionResponse; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; @@ -8,8 +8,8 @@ import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Examples Resource Scenario diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefHeaderResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefHeaderResource.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefHeaderResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefHeaderResource.java index dce896ecc3..33bea7d6a1 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefHeaderResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefHeaderResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.headers.Header; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Class with Links diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefLinksResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefLinksResource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefLinksResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefLinksResource.java index f7dc0360bc..4c4051da49 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefLinksResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefLinksResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.links.Link; @@ -7,9 +7,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with Links diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameter3029Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameter3029Resource.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameter3029Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameter3029Resource.java index 79939d6125..9b86ede9b7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameter3029Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameter3029Resource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RefParameter3029Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameter3074Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameter3074Resource.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameter3074Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameter3074Resource.java index 62a81b73ab..c20f8309bd 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameter3074Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameter3074Resource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; @@ -6,8 +6,8 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RefParameter3074Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameterResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameterResource.java similarity index 78% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameterResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameterResource.java index fd67d95b3a..e5d75e48b4 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefParameterResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefParameterResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class RefParameterResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefRequestBodyResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefRequestBodyResource.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefRequestBodyResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefRequestBodyResource.java index b2f9d92717..17f4d8e30a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefRequestBodyResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefRequestBodyResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RefRequestBodyResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefResponsesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefResponsesResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefResponsesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefResponsesResource.java index 4b91724230..9d335a9833 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefResponsesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefResponsesResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RefResponsesResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefSecurityResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefSecurityResource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefSecurityResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefSecurityResource.java index c95fa3b0a1..716a45e2c0 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/RefSecurityResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/RefSecurityResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn; import io.swagger.v3.oas.annotations.enums.SecuritySchemeType; import io.swagger.v3.oas.annotations.security.*; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @SecurityScheme(name = "myOauth2Security", type = SecuritySchemeType.OAUTH2, diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithJacksonBean.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithJacksonBean.java similarity index 69% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithJacksonBean.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithJacksonBean.java index ed31e03029..598e4c833b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithJacksonBean.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithJacksonBean.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.JacksonBean; +import io.swagger.v3.jakartarest.resources.model.JacksonBean; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; @Path("test") @Produces("application/json") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithKnownInjections.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithKnownInjections.java similarity index 84% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithKnownInjections.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithKnownInjections.java index 02eb9f2002..dd9dd6cbc9 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithKnownInjections.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithKnownInjections.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.servlet.ServletConfig; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; +import jakarta.servlet.ServletConfig; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; @Path("/resource/{id}") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithSubResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithSubResource.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithSubResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithSubResource.java index f5e5595be1..2de59413e1 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResourceWithSubResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResourceWithSubResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Path; +import jakarta.ws.rs.Path; @Path("/employees") public class ResourceWithSubResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponseContentWithArrayResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponseContentWithArrayResource.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponseContentWithArrayResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponseContentWithArrayResource.java index e00c5b4aab..9a0708c9fe 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponseContentWithArrayResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponseContentWithArrayResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.ArraySchema; @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.List; public class ResponseContentWithArrayResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponseReturnTypeResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponseReturnTypeResource.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponseReturnTypeResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponseReturnTypeResource.java index 1bb16211fc..33266315d2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponseReturnTypeResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponseReturnTypeResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -6,12 +6,12 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponsesInterface.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponsesInterface.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponsesInterface.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponsesInterface.java index 009ac6b78f..63e0a06ef3 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponsesInterface.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponsesInterface.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponsesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponsesResource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponsesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponsesResource.java index f769b023d9..b46cd889fc 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ResponsesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ResponsesResource.java @@ -1,21 +1,21 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.MultipleBaseBean; -import io.swagger.v3.jaxrs2.resources.model.MultipleSub1Bean; -import io.swagger.v3.jaxrs2.resources.model.MultipleSub2Bean; +import io.swagger.v3.jakartarest.resources.model.MultipleBaseBean; +import io.swagger.v3.jakartarest.resources.model.MultipleSub1Bean; +import io.swagger.v3.jakartarest.resources.model.MultipleSub2Bean; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; public class ResponsesResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaAdditionalPropertiesBooleanResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaAdditionalPropertiesBooleanResource.java similarity index 86% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaAdditionalPropertiesBooleanResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaAdditionalPropertiesBooleanResource.java index 286672db06..47acc702cd 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaAdditionalPropertiesBooleanResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaAdditionalPropertiesBooleanResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class SchemaAdditionalPropertiesBooleanResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaAdditionalPropertiesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaAdditionalPropertiesResource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaAdditionalPropertiesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaAdditionalPropertiesResource.java index a2c22b53b8..32d874ee9f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaAdditionalPropertiesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaAdditionalPropertiesResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.ArraySchema; @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; import java.util.List; import java.util.Map; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaPropertiesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaPropertiesResource.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaPropertiesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaPropertiesResource.java index 761e35fd1c..79f944eff2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SchemaPropertiesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SchemaPropertiesResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.MultipleBaseBean; +import io.swagger.v3.jakartarest.resources.model.MultipleBaseBean; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Content; @@ -9,10 +9,10 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; public class SchemaPropertiesResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SecurityResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SecurityResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SecurityResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SecurityResource.java index 500e38b972..0270d0aca9 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SecurityResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SecurityResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn; @@ -9,8 +9,8 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityScheme; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @SecurityScheme(name = "myOauth2Security", type = SecuritySchemeType.OAUTH2, diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ServersResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ServersResource.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ServersResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ServersResource.java index 97de6d4a40..0aeb918679 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ServersResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ServersResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.servers.Server; import io.swagger.v3.oas.annotations.servers.ServerVariable; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @OpenAPIDefinition( servers = { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingPropResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingPropResource.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingPropResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingPropResource.java index b2c30475c7..803c833c23 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingPropResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingPropResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.siblings.Pet; +import io.swagger.v3.jakartarest.resources.siblings.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,10 +8,10 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import javax.ws.rs.Consumes; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; @Path("/pet") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResource.java new file mode 100644 index 0000000000..846782c7cb --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResource.java @@ -0,0 +1,20 @@ +package io.swagger.v3.jakartarest.resources; + +import io.swagger.v3.jakartarest.resources.siblings.Pet; +import io.swagger.v3.oas.annotations.media.Schema; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.List; + +@Path("/test") +public class SiblingsResource { + @GET + @Schema(description = "Cart Pet") + public Pet getCart() { + return null; + } +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceRequestBody.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceRequestBody.java similarity index 89% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceRequestBody.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceRequestBody.java index 2360ae3f7b..997a0c8282 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceRequestBody.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceRequestBody.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.siblings.PetSimple; +import io.swagger.v3.jakartarest.resources.siblings.PetSimple; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @Path("/test") public class SiblingsResourceRequestBody { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceRequestBodyMultiple.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceRequestBodyMultiple.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceRequestBodyMultiple.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceRequestBodyMultiple.java index ee2ee0c810..4754463067 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceRequestBodyMultiple.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceRequestBodyMultiple.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.siblings.PetSimple; +import io.swagger.v3.jakartarest.resources.siblings.PetSimple; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @Path("/test") public class SiblingsResourceRequestBodyMultiple { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceResponse.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceResponse.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceResponse.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceResponse.java index efa3d09f54..38c443f631 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceResponse.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceResponse.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.siblings.PetSimple; +import io.swagger.v3.jakartarest.resources.siblings.PetSimple; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("/test") public class SiblingsResourceResponse { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceSimple.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceSimple.java similarity index 91% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceSimple.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceSimple.java index 9d3e871411..3522420f73 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResourceSimple.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SiblingsResourceSimple.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.siblings.PetSimple; +import io.swagger.v3.jakartarest.resources.siblings.PetSimple; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("/test") public class SiblingsResourceSimple { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleCallbackResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleCallbackResource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleCallbackResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleCallbackResource.java index 8678662f2f..cee60b4649 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleCallbackResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleCallbackResource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -7,10 +7,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class SimpleCallbackResource { @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleExamplesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleExamplesResource.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleExamplesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleExamplesResource.java index f6cb61f9fa..0aab12959f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleExamplesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleExamplesResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.petstore.example.SubscriptionResponse; +import io.swagger.v3.jakartarest.petstore.example.SubscriptionResponse; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; @@ -8,8 +8,8 @@ import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Examples Resource Scenario diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleMethods.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleMethods.java similarity index 84% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleMethods.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleMethods.java index 0471210999..50b2afe735 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleMethods.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleMethods.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class SimpleMethods { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleParameterResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleParameterResource.java similarity index 81% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleParameterResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleParameterResource.java index 3b13affa16..0878328cd0 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleParameterResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleParameterResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class SimpleParameterResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleRequestBodyResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleRequestBodyResource.java similarity index 78% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleRequestBodyResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleRequestBodyResource.java index 7d9890c575..dfbca79049 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleRequestBodyResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleRequestBodyResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class SimpleRequestBodyResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleResourceWithVendorAnnotation.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleResourceWithVendorAnnotation.java similarity index 86% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleResourceWithVendorAnnotation.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleResourceWithVendorAnnotation.java index c3d5b1b24c..84745697df 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleResourceWithVendorAnnotation.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleResourceWithVendorAnnotation.java @@ -1,18 +1,18 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.NotFoundModel; +import io.swagger.v3.jakartarest.resources.model.NotFoundModel; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.Response; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleResponsesResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleResponsesResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleResponsesResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleResponsesResource.java index 9c0c5b8b43..79b71c58ca 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleResponsesResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleResponsesResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class SimpleResponsesResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleUserResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleUserResource.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleUserResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleUserResource.java index c9a83a1a80..97dbeedde2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SimpleUserResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SimpleUserResource.java @@ -1,18 +1,18 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.data.UserData; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.data.UserData; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response; @Path("/user") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SingleExampleResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SingleExampleResource.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SingleExampleResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SingleExampleResource.java index 9489c001c9..7b156167c7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SingleExampleResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SingleExampleResource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class SingleExampleResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResource.java similarity index 83% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResource.java index 99074e315b..6ca01f5fa3 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; public class SubResource { @GET diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResourceHead.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResourceHead.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResourceHead.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResourceHead.java index ed6d5a9e75..c27ddc59fa 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResourceHead.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResourceHead.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.Path; +import jakarta.ws.rs.Path; @Path("/head") public class SubResourceHead { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResourceTail.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResourceTail.java similarity index 75% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResourceTail.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResourceTail.java index af4dde9436..77e7403222 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SubResourceTail.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/SubResourceTail.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; public class SubResourceTail { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TagsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TagsResource.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TagsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TagsResource.java index d515f8f2d0..f50df5b203 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TagsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TagsResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @OpenAPIDefinition(tags = { @Tag(name = "Definition First Tag"), diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Test2607.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Test2607.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Test2607.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Test2607.java index 4ce2967724..efd2f5cfff 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Test2607.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Test2607.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.info.Info; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @OpenAPIDefinition(info = @Info( title = "TEST", version = "0.0", description = "Test API" ) ) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestResource.java similarity index 73% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestResource.java index e858194ed1..077c04ca5e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; @Path("test") @Produces(MediaType.APPLICATION_JSON) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestSub2607.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestSub2607.java similarity index 55% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestSub2607.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestSub2607.java index 94e8df5294..0bf5878188 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestSub2607.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestSub2607.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Produces(MediaType.APPLICATION_JSON) public class TestSub2607 { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestSubResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestSubResource.java similarity index 63% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestSubResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestSubResource.java index 09cef14fd2..ffb9d9b98e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/TestSubResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/TestSubResource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Produces(MediaType.APPLICATION_JSON) public class TestSubResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2340Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2340Resource.java similarity index 83% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2340Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2340Resource.java index 87b1a2a3bf..59cf769f64 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2340Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2340Resource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Path("/test") public class Ticket2340Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2644AnnotatedInterface.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2644AnnotatedInterface.java similarity index 57% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2644AnnotatedInterface.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2644AnnotatedInterface.java index a82f2224e7..b82c9e5001 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2644AnnotatedInterface.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2644AnnotatedInterface.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @Path("resources") @Tag(name = "resource") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2644ConcreteImplementation.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2644ConcreteImplementation.java similarity index 69% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2644ConcreteImplementation.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2644ConcreteImplementation.java index f2e88729e9..c2a0f28941 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2644ConcreteImplementation.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2644ConcreteImplementation.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; public class Ticket2644ConcreteImplementation implements Ticket2644AnnotatedInterface { public Response getResource() { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2763Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2763Resource.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2763Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2763Resource.java index 5e89889937..a6cae31e98 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2763Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2763Resource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.MediaType; public class Ticket2763Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2793Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2793Resource.java similarity index 79% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2793Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2793Resource.java index 4d7d70869e..a2dc1b832f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2793Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2793Resource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.media.Content; @@ -7,11 +7,11 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.Map; import java.util.UUID; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2794Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2794Resource.java similarity index 72% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2794Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2794Resource.java index c7dda52a91..454ae13632 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2794Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2794Resource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.validation.constraints.NotNull; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.Arrays; @Path("/notnullparameter") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2806Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2806Resource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2806Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2806Resource.java index f35981c225..7be5a4923d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2806Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2806Resource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class Ticket2806Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2818Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2818Resource.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2818Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2818Resource.java index a489af8b92..6845f18004 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2818Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2818Resource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Path("/bookstore") public class Ticket2818Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2848Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2848Resource.java similarity index 80% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2848Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2848Resource.java index 9f0d5d7a1f..9550c750e6 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket2848Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket2848Resource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.List; @Path("/") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3015Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3015Resource.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3015Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3015Resource.java index 921750af31..1733a83f58 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3015Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3015Resource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.net.URI; @Path("test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3587Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3587Resource.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3587Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3587Resource.java index 0d8e4cb39d..a12c11f766 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3587Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3587Resource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.ExampleObject; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("test") public class Ticket3587Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3731BisResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3731BisResource.java similarity index 73% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3731BisResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3731BisResource.java index 753798be14..ce58d64297 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3731BisResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3731BisResource.java @@ -1,15 +1,15 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import java.util.List; @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3731Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3731Resource.java similarity index 69% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3731Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3731Resource.java index f32d277ae2..4e869ede0c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket3731Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket3731Resource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import java.util.List; @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4065Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4065Resource.java similarity index 75% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4065Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4065Resource.java index 673b76e161..537f1025d3 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4065Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4065Resource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.Explode; import io.swagger.v3.oas.annotations.enums.ParameterIn; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; @Path("/bar") public class Ticket4065Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4341Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4341Resource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4341Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4341Resource.java index 6082234acc..5fc3fdf447 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4341Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4341Resource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.NotNull; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.List; public class Ticket4341Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4412Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4412Resource.java similarity index 59% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4412Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4412Resource.java index 8d0a08b793..eb25ccf97d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4412Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4412Resource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; import java.util.List; @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4446Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4446Resource.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4446Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4446Resource.java index 46befa99bd..56c7684c4d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4446Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4446Resource.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.List; @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4483Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4483Resource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4483Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4483Resource.java index 4d42b037ff..c3ed3862dd 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4483Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4483Resource.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.ArraySchema; @@ -8,11 +8,11 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; import java.util.Map; /* diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804CustomClass.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804CustomClass.java similarity index 71% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804CustomClass.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804CustomClass.java index af2b9ebc40..bd4f473739 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804CustomClass.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804CustomClass.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.validation.constraints.DecimalMin; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import java.math.BigDecimal; public class Ticket4804CustomClass { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804NotBlankResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804NotBlankResource.java similarity index 75% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804NotBlankResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804NotBlankResource.java index 5b300fe960..c2de51b6ed 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804NotBlankResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804NotBlankResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.parameters.ValidatedParameter; -import javax.validation.Valid; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; @Path("/test") public class Ticket4804NotBlankResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804ProcessorResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804ProcessorResource.java similarity index 94% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804ProcessorResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804ProcessorResource.java index 5643aad1c9..daddf2565a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804ProcessorResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804ProcessorResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.core.util.ValidatorProcessor; import io.swagger.v3.oas.annotations.parameters.ValidatedParameter; import io.swagger.v3.oas.models.media.Schema; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; import java.lang.annotation.Annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804Resource.java similarity index 84% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804Resource.java index c7d023ce0f..c5507f596b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4804Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4804Resource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.parameters.ValidatedParameter; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; @Path("/test") public class Ticket4804Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4850Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4850Resource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4850Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4850Resource.java index a11f237d56..5e90576f54 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4850Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4850Resource.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.extensions.Extension; import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("/bar") public class Ticket4850Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4859Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4859Resource.java similarity index 78% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4859Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4859Resource.java index 69b5b7b037..2c2517750c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4859Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4859Resource.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; @Path("/test") public class Ticket4859Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4878Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4878Resource.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4878Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4878Resource.java index 849b4aac9a..2966b55813 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4878Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4878Resource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; @Path("{globalPathParam}") public class Ticket4878Resource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4879Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4879Resource.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4879Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4879Resource.java index bca37487fc..17e35fdef4 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket4879Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket4879Resource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.Size; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.validation.constraints.Size; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import java.util.List; @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket5017Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket5017Resource.java similarity index 84% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket5017Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket5017Resource.java index da12913126..d753f16764 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/Ticket5017Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/Ticket5017Resource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.Map; @Path("/test") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UploadRequest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UploadRequest.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UploadRequest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UploadRequest.java index 2112f0e212..ca4e99c744 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UploadRequest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UploadRequest.java @@ -1,57 +1,57 @@ -package io.swagger.v3.jaxrs2.resources; - -import io.swagger.v3.oas.annotations.Hidden; -import io.swagger.v3.oas.annotations.media.Schema; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.glassfish.jersey.media.multipart.FormDataParam; - -import java.io.InputStream; - -@Schema(name = "UploadRequest", title="Schema for Upload") -public class UploadRequest { - - @Hidden - @FormDataParam("picture") - private FormDataContentDisposition disposition; - - public FormDataContentDisposition getDisposition() { - return disposition; - } - public void setDisposition(FormDataContentDisposition disposition) { - this.disposition = disposition; - } - - - @FormDataParam("name") - private String name; - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - - - @Schema(name="picture", type="string", format="binary") - @FormDataParam("picture") - private InputStream upload; - - - public InputStream getUpload() { - return upload; - } - public void setUpload(InputStream upload) { - this.upload = upload; - } - - @Override - public String toString() { - final String NL = System.lineSeparator(); - StringBuilder sb = new StringBuilder(); - sb.append(super.toString()); - sb.append("name: ").append(name).append(NL); - return sb.toString(); - } - -} +package io.swagger.v3.jakartarest.resources; + +import io.swagger.v3.oas.annotations.Hidden; +import io.swagger.v3.oas.annotations.media.Schema; +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import org.glassfish.jersey.media.multipart.FormDataParam; + +import java.io.InputStream; + +@Schema(name = "UploadRequest", title="Schema for Upload") +public class UploadRequest { + + @Hidden + @FormDataParam("picture") + private FormDataContentDisposition disposition; + + public FormDataContentDisposition getDisposition() { + return disposition; + } + public void setDisposition(FormDataContentDisposition disposition) { + this.disposition = disposition; + } + + + @FormDataParam("name") + private String name; + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + + + @Schema(name="picture", type="string", format="binary") + @FormDataParam("picture") + private InputStream upload; + + + public InputStream getUpload() { + return upload; + } + public void setUpload(InputStream upload) { + this.upload = upload; + } + + @Override + public String toString() { + final String NL = System.lineSeparator(); + StringBuilder sb = new StringBuilder(); + sb.append(super.toString()); + sb.append("name: ").append(name).append(NL); + return sb.toString(); + } + +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UploadResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UploadResource.java similarity index 72% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UploadResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UploadResource.java index 59dac94032..99c408717e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UploadResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UploadResource.java @@ -1,34 +1,34 @@ -package io.swagger.v3.jaxrs2.resources; - -import io.swagger.v3.oas.annotations.media.Content; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.parameters.RequestBody; - -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - - -@Path("/upload") -public class UploadResource { - - @POST - @Consumes(MediaType.MULTIPART_FORM_DATA) - @Produces(MediaType.APPLICATION_JSON) - public Response uploadWithBean(@BeanParam UploadRequest personData) { - return Response.ok().build(); - } - - @Path("/requestbody") - @POST - @Consumes(MediaType.MULTIPART_FORM_DATA) - @Produces(MediaType.APPLICATION_JSON) - @RequestBody(content = @Content(schema = @Schema(implementation = UploadRequest.class))) - public Response uploadWithBeanAndRequestBody(@BeanParam UploadRequest personData) { - return Response.ok().build(); - } -} +package io.swagger.v3.jakartarest.resources; + +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.parameters.RequestBody; + +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; + + +@Path("/upload") +public class UploadResource { + + @POST + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.APPLICATION_JSON) + public Response uploadWithBean(@BeanParam UploadRequest personData) { + return Response.ok().build(); + } + + @Path("/requestbody") + @POST + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.APPLICATION_JSON) + @RequestBody(content = @Content(schema = @Schema(implementation = UploadRequest.class))) + public Response uploadWithBeanAndRequestBody(@BeanParam UploadRequest personData) { + return Response.ok().build(); + } +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UrlEncodedResourceWithEncodings.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UrlEncodedResourceWithEncodings.java similarity index 82% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UrlEncodedResourceWithEncodings.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UrlEncodedResourceWithEncodings.java index 0a881892b7..8290af4e9e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UrlEncodedResourceWithEncodings.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UrlEncodedResourceWithEncodings.java @@ -1,16 +1,16 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterStyle; -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.FormParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.List; import static io.swagger.v3.oas.annotations.enums.Explode.FALSE; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserAnnotation.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserAnnotation.java similarity index 89% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserAnnotation.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserAnnotation.java index fc09799db4..bae9f5c924 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserAnnotation.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserAnnotation.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; import io.swagger.v3.oas.annotations.Operation; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserAnnotationResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserAnnotationResource.java similarity index 53% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserAnnotationResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserAnnotationResource.java index 8168bb90a3..d2a76ba12e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserAnnotationResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserAnnotationResource.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import javax.validation.constraints.NotNull; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Path("test") @Produces(MediaType.APPLICATION_JSON) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserResource.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserResource.java index acf5e2e12b..e0178efab2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/UserResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/UserResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.data.UserData; -import io.swagger.v3.jaxrs2.resources.exception.ApiException; -import io.swagger.v3.jaxrs2.resources.exception.NotFoundException; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.data.UserData; +import io.swagger.v3.jakartarest.resources.exception.ApiException; +import io.swagger.v3.jakartarest.resources.exception.NotFoundException; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; @@ -11,15 +11,15 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @Path("/user") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/WebHookResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/WebHookResource.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/WebHookResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/WebHookResource.java index 5d44b011d9..6b84018695 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/WebHookResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/WebHookResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources; +package io.swagger.v3.jakartarest.resources; -import io.swagger.v3.jaxrs2.resources.siblings.Pet; +import io.swagger.v3.jakartarest.resources.siblings.Pet; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Webhook; import io.swagger.v3.oas.annotations.Webhooks; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/data/PetData.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/data/PetData.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/data/PetData.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/data/PetData.java index 1004d95bb4..ecf618187b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/data/PetData.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/data/PetData.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources.data; +package io.swagger.v3.jakartarest.resources.data; -import io.swagger.v3.jaxrs2.resources.model.Category; -import io.swagger.v3.jaxrs2.resources.model.Pet; -import io.swagger.v3.jaxrs2.resources.model.Tag; +import io.swagger.v3.jakartarest.resources.model.Category; +import io.swagger.v3.jakartarest.resources.model.Pet; +import io.swagger.v3.jakartarest.resources.model.Tag; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/data/UserData.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/data/UserData.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/data/UserData.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/data/UserData.java index 6c85eaaec3..e78cc284ea 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/data/UserData.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/data/UserData.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources.data; +package io.swagger.v3.jakartarest.resources.data; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/exception/ApiException.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/exception/ApiException.java similarity index 75% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/exception/ApiException.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/exception/ApiException.java index ae1b795c1a..adefc4734b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/exception/ApiException.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/exception/ApiException.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.exception; +package io.swagger.v3.jakartarest.resources.exception; public class ApiException extends Exception { private int code; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/exception/NotFoundException.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/exception/NotFoundException.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/exception/NotFoundException.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/exception/NotFoundException.java index c91ade0e9d..6c29b00ced 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/exception/NotFoundException.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/exception/NotFoundException.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.exception; +package io.swagger.v3.jakartarest.resources.exception; public class NotFoundException extends ApiException { private int code; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/ExtensionsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/ExtensionsResource.java similarity index 99% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/ExtensionsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/ExtensionsResource.java index 7e8731517a..70cbdc5b76 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/ExtensionsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/ExtensionsResource.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources.extensions; +package io.swagger.v3.jakartarest.resources.extensions; -import io.swagger.v3.jaxrs2.resources.model.ExtensionUser; +import io.swagger.v3.jakartarest.resources.model.ExtensionUser; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; @@ -30,11 +30,11 @@ import io.swagger.v3.oas.annotations.servers.ServerVariable; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @OpenAPIDefinition( extensions = { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/OperationExtensionsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/OperationExtensionsResource.java similarity index 86% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/OperationExtensionsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/OperationExtensionsResource.java index 1d8eb1c27f..aa390657cb 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/OperationExtensionsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/OperationExtensionsResource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources.extensions; +package io.swagger.v3.jakartarest.resources.extensions; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.extensions.Extension; import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class OperationExtensionsResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/ParameterExtensionsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/ParameterExtensionsResource.java similarity index 80% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/ParameterExtensionsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/ParameterExtensionsResource.java index cfffca4451..09979e5f2a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/ParameterExtensionsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/ParameterExtensionsResource.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources.extensions; +package io.swagger.v3.jakartarest.resources.extensions; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.extensions.Extension; import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class ParameterExtensionsResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/RequestBodyExtensionsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/RequestBodyExtensionsResource.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/RequestBodyExtensionsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/RequestBodyExtensionsResource.java index e2e3471ddb..558b2ac4f7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/extensions/RequestBodyExtensionsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/extensions/RequestBodyExtensionsResource.java @@ -1,14 +1,14 @@ -package io.swagger.v3.jaxrs2.resources.extensions; +package io.swagger.v3.jakartarest.resources.extensions; -import io.swagger.v3.jaxrs2.resources.model.User; +import io.swagger.v3.jakartarest.resources.model.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.extensions.Extension; import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RequestBodyExtensionsResource { @GET diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/BaseDTO.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/BaseDTO.java new file mode 100644 index 0000000000..2b3920b5d5 --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/BaseDTO.java @@ -0,0 +1,7 @@ +package io.swagger.v3.jakartarest.resources.generics.ticket2144; + + +public class BaseDTO { + + public String name; +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/BaseResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/BaseResource.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/BaseResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/BaseResource.java index f3dab1dd39..8fe0738e30 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/BaseResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/BaseResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket2144; +package io.swagger.v3.jakartarest.resources.generics.ticket2144; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; public abstract class BaseResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/Item.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/Item.java similarity index 50% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/Item.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/Item.java index 99a0421f1a..ee985eaaed 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/Item.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/Item.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket2144; +package io.swagger.v3.jakartarest.resources.generics.ticket2144; public class Item extends BaseDTO { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/ItemResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/ItemResource.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/ItemResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/ItemResource.java index 08c3120591..04c4e8de43 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/ItemResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/ItemResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket2144; +package io.swagger.v3.jakartarest.resources.generics.ticket2144; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; @Path("/item") public class ItemResource extends BaseResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/ItemWithChildren.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/ItemWithChildren.java similarity index 53% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/ItemWithChildren.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/ItemWithChildren.java index 8bdf7680b9..1d3946d45b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/ItemWithChildren.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket2144/ItemWithChildren.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket2144; +package io.swagger.v3.jakartarest.resources.generics.ticket2144; public class ItemWithChildren extends Item { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/AggregateEndpoint.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/AggregateEndpoint.java similarity index 58% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/AggregateEndpoint.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/AggregateEndpoint.java index f35e0d1aa5..65d6c39fa1 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/AggregateEndpoint.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/AggregateEndpoint.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3149; +package io.swagger.v3.jakartarest.resources.generics.ticket3149; public interface AggregateEndpoint extends FirstEndpoint, SecondEndpoint { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/FirstEndpoint.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/FirstEndpoint.java similarity index 83% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/FirstEndpoint.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/FirstEndpoint.java index d899ce0268..a632cbc7fd 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/FirstEndpoint.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/FirstEndpoint.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3149; +package io.swagger.v3.jakartarest.resources.generics.ticket3149; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; public interface FirstEndpoint { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/MainResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/MainResource.java similarity index 71% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/MainResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/MainResource.java index 9f1082b7bc..fdeb5399c0 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/MainResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/MainResource.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3149; +package io.swagger.v3.jakartarest.resources.generics.ticket3149; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.Path; +import jakarta.ws.rs.Path; @Path("/test") @Tag(name = "Test inheritance on default implementation in interfaces") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/OriginalEndpoint.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/OriginalEndpoint.java similarity index 54% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/OriginalEndpoint.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/OriginalEndpoint.java index d8a8e587da..ebf7ddc953 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/OriginalEndpoint.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/OriginalEndpoint.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3149; +package io.swagger.v3.jakartarest.resources.generics.ticket3149; public interface OriginalEndpoint { diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SampleDTO.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SampleDTO.java new file mode 100644 index 0000000000..81f1dfe7f8 --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SampleDTO.java @@ -0,0 +1,7 @@ +package io.swagger.v3.jakartarest.resources.generics.ticket3149; + + +public class SampleDTO { + + public String name; +} diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SampleOtherDTO.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SampleOtherDTO.java new file mode 100644 index 0000000000..269f9bdbd3 --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SampleOtherDTO.java @@ -0,0 +1,6 @@ +package io.swagger.v3.jakartarest.resources.generics.ticket3149; + +public class SampleOtherDTO { + + public String label; +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SecondEndpoint.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SecondEndpoint.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SecondEndpoint.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SecondEndpoint.java index 148f50d194..85115eea89 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SecondEndpoint.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3149/SecondEndpoint.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3149; +package io.swagger.v3.jakartarest.resources.generics.ticket3149; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public interface SecondEndpoint extends OriginalEndpoint { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3426/Parent.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3426/Parent.java similarity index 57% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3426/Parent.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3426/Parent.java index 6120d03c6f..0c41365b32 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3426/Parent.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3426/Parent.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3426; +package io.swagger.v3.jakartarest.resources.generics.ticket3426; public class Parent { public T get(String input) { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3426/Ticket3426Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3426/Ticket3426Resource.java similarity index 60% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3426/Ticket3426Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3426/Ticket3426Resource.java index eda16d12ab..6b8d584b41 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3426/Ticket3426Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3426/Ticket3426Resource.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3426; +package io.swagger.v3.jakartarest.resources.generics.ticket3426; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; @Path("/inheritExample") public class Ticket3426Resource extends Parent { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694Resource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694Resource.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694Resource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694Resource.java index 1abe6d93a0..63d65373d5 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694Resource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694Resource.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.List; @Path("/") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceExtendedType.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceExtendedType.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceExtendedType.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceExtendedType.java index d5ad72cb1a..03a60bd2a7 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceExtendedType.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceExtendedType.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.List; @Path("/") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterface.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterface.java similarity index 62% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterface.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterface.java index 178688c9a1..9448efd51f 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterface.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterface.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.List; public interface Ticket3694ResourceInterface { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceExtendedType.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceExtendedType.java similarity index 65% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceExtendedType.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceExtendedType.java index 3a2d8939b9..1dd0311a7c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceExtendedType.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceExtendedType.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.List; public interface Ticket3694ResourceInterfaceExtendedType { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimple.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimple.java similarity index 62% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimple.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimple.java index 0baaf07c4f..6e2ea41031 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimple.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimple.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimpleSameReturn.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimpleSameReturn.java similarity index 55% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimpleSameReturn.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimpleSameReturn.java index 7b36e71e26..feef980e38 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimpleSameReturn.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceInterfaceSimpleSameReturn.java @@ -1,6 +1,6 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.List; public interface Ticket3694ResourceInterfaceSimpleSameReturn { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceSimple.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceSimple.java similarity index 65% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceSimple.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceSimple.java index 276dc2aaba..bf39986cc0 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceSimple.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceSimple.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.MediaType; import java.util.List; @Path("/") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceSimpleSameReturn.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceSimpleSameReturn.java similarity index 62% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceSimpleSameReturn.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceSimpleSameReturn.java index e9fdb4c206..edb94d0343 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3694/Ticket3694ResourceSimpleSameReturn.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/generics/ticket3694/Ticket3694ResourceSimpleSameReturn.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3694; +package io.swagger.v3.jakartarest.resources.generics.ticket3694; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.List; @Path("/") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Category.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Category.java similarity index 77% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Category.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Category.java index 33431f5446..5a680e8b62 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/Category.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Category.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.resources.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Category") public class Category { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/CustomGenerator.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/CustomGenerator.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/CustomGenerator.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/CustomGenerator.java index dbc6e9d49d..349e64b4d8 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/CustomGenerator.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/CustomGenerator.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import com.fasterxml.jackson.annotation.ObjectIdGenerator; import com.fasterxml.jackson.annotation.ObjectIdGenerators; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ExtensionUser.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ExtensionUser.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ExtensionUser.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ExtensionUser.java index cf55ad5c1a..aa501e8a8d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ExtensionUser.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ExtensionUser.java @@ -1,11 +1,11 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import io.swagger.v3.oas.annotations.extensions.Extension; import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") @Schema( diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/FormParamBean.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/FormParamBean.java similarity index 89% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/FormParamBean.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/FormParamBean.java index f1df860a99..8c6e73b046 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/FormParamBean.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/FormParamBean.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; -import javax.ws.rs.BeanParam; -import javax.ws.rs.FormParam; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.FormParam; public class FormParamBean { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Item.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Item.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Item.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Item.java index eb3af47c96..8cd4d920e8 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Item.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Item.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/JacksonBean.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/JacksonBean.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/JacksonBean.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/JacksonBean.java index 4791642059..e9e31a5820 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/JacksonBean.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/JacksonBean.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ListOfStringsBeanParam.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ListOfStringsBeanParam.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ListOfStringsBeanParam.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ListOfStringsBeanParam.java index 0f94c2a3c6..3cc1749f9c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ListOfStringsBeanParam.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ListOfStringsBeanParam.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import java.util.List; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.QueryParam; public class ListOfStringsBeanParam { @QueryParam(value = "listOfStrings") diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ModelWithJsonIdentity.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ModelWithJsonIdentity.java similarity index 99% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ModelWithJsonIdentity.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ModelWithJsonIdentity.java index 01f56ba4ed..2ac1bf383a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ModelWithJsonIdentity.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ModelWithJsonIdentity.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.JsonIdentityReference; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ModelWithJsonIdentityCyclic.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ModelWithJsonIdentityCyclic.java similarity index 93% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ModelWithJsonIdentityCyclic.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ModelWithJsonIdentityCyclic.java index a879bcf96e..8256ea3128 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/ModelWithJsonIdentityCyclic.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/ModelWithJsonIdentityCyclic.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.JsonIdentityReference; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleBaseBean.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleBaseBean.java similarity index 83% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleBaseBean.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleBaseBean.java index d0ce5738e7..393ceefd8e 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleBaseBean.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleBaseBean.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; @io.swagger.v3.oas.annotations.media.Schema( description = "MultipleBaseBean", diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleSub1Bean.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleSub1Bean.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleSub1Bean.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleSub1Bean.java index 495f9d5318..05bcd9323d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleSub1Bean.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleSub1Bean.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; @io.swagger.v3.oas.annotations.media.Schema( description = "MultipleSub1Bean" diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleSub2Bean.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleSub2Bean.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleSub2Bean.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleSub2Bean.java index 0d26ea7a4f..a50e460c77 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/MultipleSub2Bean.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/MultipleSub2Bean.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; @io.swagger.v3.oas.annotations.media.Schema( description = "MultipleSub2Bean" diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/NestedBeanParam.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/NestedBeanParam.java similarity index 80% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/NestedBeanParam.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/NestedBeanParam.java index dfaf5828f8..07b8a737ad 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/NestedBeanParam.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/NestedBeanParam.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; -import javax.ws.rs.BeanParam; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.QueryParam; public class NestedBeanParam { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/NotFoundModel.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/NotFoundModel.java similarity index 90% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/NotFoundModel.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/NotFoundModel.java index 8297546250..dd80a3632a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/NotFoundModel.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/NotFoundModel.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; public class NotFoundModel { int code; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Pet.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Pet.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Pet.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Pet.java index 460e99a581..f0c14a15af 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Pet.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Pet.java @@ -1,10 +1,10 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Tag.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Tag.java similarity index 73% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Tag.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Tag.java index 33ba13e715..5cc75e3f4b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/model/Tag.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/Tag.java @@ -1,7 +1,7 @@ -package io.swagger.v3.jaxrs2.resources.model; +package io.swagger.v3.jakartarest.resources.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Tag") public class Tag { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/User.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/User.java similarity index 92% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/User.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/User.java index aadb37fc00..c2387b648d 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/User.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/model/User.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.petstore31; +package io.swagger.v3.jakartarest.resources.model; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") public class User { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/AbstractEntityRestService.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/AbstractEntityRestService.java similarity index 80% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/AbstractEntityRestService.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/AbstractEntityRestService.java index cab9803ce0..0ad9cc9b63 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/AbstractEntityRestService.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/AbstractEntityRestService.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.rs; +package io.swagger.v3.jakartarest.resources.rs; public abstract class AbstractEntityRestService implements EntityRestService { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/EntityRestService.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/EntityRestService.java similarity index 54% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/EntityRestService.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/EntityRestService.java index 54abee3d17..334c8696b3 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/EntityRestService.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/EntityRestService.java @@ -1,13 +1,13 @@ -package io.swagger.v3.jaxrs2.resources.rs; - -import javax.ws.rs.POST; -import javax.ws.rs.Path; - -public interface EntityRestService { - - @POST - @Path("/") - public DTO create(DTO object) throws Exception; - - -} +package io.swagger.v3.jakartarest.resources.rs; + +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; + +public interface EntityRestService { + + @POST + @Path("/") + public DTO create(DTO object) throws Exception; + + +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/PersistentDTO.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/PersistentDTO.java similarity index 76% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/PersistentDTO.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/PersistentDTO.java index 9fe707ea94..44ab03038b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/PersistentDTO.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/PersistentDTO.java @@ -1,16 +1,16 @@ -package io.swagger.v3.jaxrs2.resources.rs; - -public class PersistentDTO { - - private String guid; - - public void setGuid(String guid) { - this.guid = guid; - } - - public String getGuid() { - return guid; - } - - -} +package io.swagger.v3.jakartarest.resources.rs; + +public class PersistentDTO { + + private String guid; + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getGuid() { + return guid; + } + + +} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/ProcessTokenDTO.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/ProcessTokenDTO.java similarity index 63% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/ProcessTokenDTO.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/ProcessTokenDTO.java index 3fbd449dcd..ffa2bdd098 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/ProcessTokenDTO.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/ProcessTokenDTO.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.rs; +package io.swagger.v3.jakartarest.resources.rs; public class ProcessTokenDTO extends PersistentDTO { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/ProcessTokenRestService.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/ProcessTokenRestService.java similarity index 51% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/ProcessTokenRestService.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/ProcessTokenRestService.java index 6dd46bfa7d..9a7bc5da8c 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/rs/ProcessTokenRestService.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/rs/ProcessTokenRestService.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.resources.rs; +package io.swagger.v3.jakartarest.resources.rs; -import javax.ws.rs.Consumes; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Path("token") @Consumes(MediaType.APPLICATION_JSON) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/Category.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/Category.java similarity index 82% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/Category.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/Category.java index 781e4ff05b..c54c50864a 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/Category.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/Category.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.siblings; +package io.swagger.v3.jakartarest.resources.siblings; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/Pet.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/Pet.java similarity index 85% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/Pet.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/Pet.java index a0ede48cb5..78f98318d2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/Pet.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/Pet.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.siblings; +package io.swagger.v3.jakartarest.resources.siblings; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/PetSimple.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/PetSimple.java similarity index 67% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/PetSimple.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/PetSimple.java index 49e36b4eec..eb5ca307c9 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/siblings/PetSimple.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/siblings/PetSimple.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.siblings; +package io.swagger.v3.jakartarest.resources.siblings; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/Service.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/Service.java similarity index 62% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/Service.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/Service.java index eff431bf1d..8ac6edbb00 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/Service.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/Service.java @@ -1,16 +1,16 @@ -package io.swagger.v3.jaxrs2.resources.ticket3624; +package io.swagger.v3.jakartarest.resources.ticket3624; -import io.swagger.v3.jaxrs2.resources.ticket3624.model.ByIdResponse; -import io.swagger.v3.jaxrs2.resources.ticket3624.model.ContainerizedResponse; -import io.swagger.v3.jaxrs2.resources.ticket3624.model.Response; +import io.swagger.v3.jakartarest.resources.ticket3624.model.ByIdResponse; +import io.swagger.v3.jakartarest.resources.ticket3624.model.ContainerizedResponse; +import io.swagger.v3.jakartarest.resources.ticket3624.model.Response; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; @Tag(name = "ExampleService") @Produces(MediaType.APPLICATION_JSON) diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ByIdResponse.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ByIdResponse.java similarity index 65% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ByIdResponse.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ByIdResponse.java index 20e5ff9406..ed9fb71d42 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ByIdResponse.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ByIdResponse.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.ticket3624.model; +package io.swagger.v3.jakartarest.resources.ticket3624.model; import java.util.Map; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ContainerizedResponse.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ContainerizedResponse.java similarity index 74% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ContainerizedResponse.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ContainerizedResponse.java index 13e2347214..5bf1b59815 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ContainerizedResponse.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ContainerizedResponse.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.ticket3624.model; +package io.swagger.v3.jakartarest.resources.ticket3624.model; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/Model.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/Model.java similarity index 88% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/Model.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/Model.java index a081860d7a..586970bfe2 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/Model.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/Model.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.ticket3624.model; +package io.swagger.v3.jakartarest.resources.ticket3624.model; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ModelContainer.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ModelContainer.java similarity index 75% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ModelContainer.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ModelContainer.java index 6a299c1044..1ae1434403 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/ModelContainer.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/ModelContainer.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.ticket3624.model; +package io.swagger.v3.jakartarest.resources.ticket3624.model; import java.util.Optional; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/Response.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/Response.java similarity index 69% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/Response.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/Response.java index 7c1ddf3389..643d5c5025 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/ticket3624/model/Response.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/resources/ticket3624/model/Response.java @@ -1,4 +1,4 @@ -package io.swagger.v3.jaxrs2.resources.ticket3624.model; +package io.swagger.v3.jakartarest.resources.ticket3624.model; import java.util.List; diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionAnnotatedResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionAnnotatedResource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionAnnotatedResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionAnnotatedResource.java index 575e374752..b72ca9da04 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionAnnotatedResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionAnnotatedResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.schemaResolution; +package io.swagger.v3.jakartarest.schemaResolution; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("test") public class SchemaResolutionAnnotatedResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionAnnotatedSimpleResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionAnnotatedSimpleResource.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionAnnotatedSimpleResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionAnnotatedSimpleResource.java index 013dd4d26e..4919a1d75b 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionAnnotatedSimpleResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionAnnotatedSimpleResource.java @@ -1,9 +1,9 @@ -package io.swagger.v3.jaxrs2.schemaResolution; +package io.swagger.v3.jakartarest.schemaResolution; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("test") public class SchemaResolutionAnnotatedSimpleResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionResource.java similarity index 95% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionResource.java index 6f909e1d44..539372c927 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionResource.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.schemaResolution; +package io.swagger.v3.jakartarest.schemaResolution; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("test") public class SchemaResolutionResource { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionResourceSimple.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionResourceSimple.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionResourceSimple.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionResourceSimple.java index fc043bc168..eea9e175ba 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/schemaResolution/SchemaResolutionResourceSimple.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/schemaResolution/SchemaResolutionResourceSimple.java @@ -1,12 +1,12 @@ -package io.swagger.v3.jaxrs2.schemaResolution; +package io.swagger.v3.jakartarest.schemaResolution; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @Path("test") public class SchemaResolutionResourceSimple { diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/util/ServletUtilsTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/util/ServletUtilsTest.java similarity index 96% rename from modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/util/ServletUtilsTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/util/ServletUtilsTest.java index b53f61c513..d7b338da11 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/util/ServletUtilsTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/jakartarest/util/ServletUtilsTest.java @@ -1,8 +1,8 @@ -package io.swagger.v3.jaxrs2.util; +package io.swagger.v3.jakartarest.util; import org.testng.annotations.Test; -import javax.ws.rs.core.MultivaluedHashMap; +import jakarta.ws.rs.core.MultivaluedHashMap; import java.net.URLEncoder; import java.util.Arrays; import java.util.HashMap; diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/Reader/ReaderTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/Reader/ReaderTest.java similarity index 99% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/Reader/ReaderTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/Reader/ReaderTest.java index bd4ff8d8c1..50dd62a5bd 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/Reader/ReaderTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/Reader/ReaderTest.java @@ -4,7 +4,7 @@ import io.swagger.v3.java17.resources.JavaRecordWithPathResource; import io.swagger.v3.java17.resources.OtherJavaRecordWithPathsResource; import io.swagger.v3.java17.resources.TestControllerWithRecordResource; -import io.swagger.v3.jaxrs2.Reader; +import io.swagger.v3.jakartarest.Reader; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import org.testng.annotations.Test; diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/Reader/SchemaResolutionRecordsTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/Reader/SchemaResolutionRecordsTest.java similarity index 99% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/Reader/SchemaResolutionRecordsTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/Reader/SchemaResolutionRecordsTest.java index aad17ec57c..c436dc785c 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/Reader/SchemaResolutionRecordsTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/Reader/SchemaResolutionRecordsTest.java @@ -4,7 +4,7 @@ import io.swagger.v3.java17.matchers.SerializationMatchers; import io.swagger.v3.java17.resources.SchemaResolutionWithRecordSimpleResource; import io.swagger.v3.java17.resources.SchemaResolutionWithRecordsResource; -import io.swagger.v3.jaxrs2.Reader; +import io.swagger.v3.jakartarest.Reader; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.Schema; diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/matchers/SerializationMatchers.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/matchers/SerializationMatchers.java similarity index 89% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/matchers/SerializationMatchers.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/matchers/SerializationMatchers.java index 01e5c00de2..42f23a02b2 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/matchers/SerializationMatchers.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/matchers/SerializationMatchers.java @@ -1,9 +1,10 @@ package io.swagger.v3.java17.matchers; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.NumericNode; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.NumericNode; +import tools.jackson.databind.node.ObjectNode; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Json31; import io.swagger.v3.core.util.Yaml; @@ -44,7 +45,7 @@ private static void apply(Object objectToSerialize, String str, ObjectMapper map ObjectNode rhs = null; try { rhs = mapper.readValue(str, ObjectNode.class); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Failed to read value", e); } if (exactMatch || !lhs.equals(new ObjectNodeComparator(), rhs)) { @@ -58,7 +59,7 @@ private static void apply31(Object objectToSerialize, String str, ObjectMapper m ObjectNode rhs = null; try { rhs = mapper.readValue(str, ObjectNode.class); - } catch (IOException e) { + } catch (JacksonException e) { LOGGER.error("Failed to read value", e); } if (!lhs.equals(new ObjectNodeComparator(), rhs)) { @@ -77,7 +78,7 @@ public int compare(JsonNode o1, JsonNode o2) { double d2 = ((NumericNode) o2).asDouble(); return Double.compare(d1, d2); } - int comp = o1.asText().compareTo(o2.asText()); + int comp = o1.asString().compareTo(o2.asString()); if (comp == 0) { return Integer.compare(o1.hashCode(), o2.hashCode()); } diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/JavaRecordTest.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/JavaRecordTest.java similarity index 99% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/JavaRecordTest.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/JavaRecordTest.java index afbfd11fa6..75e7acb426 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/JavaRecordTest.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/JavaRecordTest.java @@ -6,7 +6,7 @@ import io.swagger.v3.java17.matchers.SerializationMatchers; import org.testng.annotations.Test; -import javax.validation.constraints.*; +import jakarta.validation.constraints.*; import java.util.List; import java.util.Map; diff --git a/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java new file mode 100644 index 0000000000..332917859b --- /dev/null +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java @@ -0,0 +1,44 @@ +package io.swagger.v3.java17.resolving; + +import com.fasterxml.jackson.annotation.JsonInclude; +import tools.jackson.core.util.DefaultPrettyPrinter; +import tools.jackson.databind.MapperFeature; +import tools.jackson.databind.ObjectMapper; +import io.swagger.v3.core.jackson.ModelResolver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import tools.jackson.databind.cfg.EnumFeature; +import tools.jackson.databind.introspect.DefaultAccessorNamingStrategy; +import tools.jackson.databind.json.JsonMapper; + +public abstract class SwaggerTestBase { + static ObjectMapper mapper; + private static final Logger LOGGER = LoggerFactory.getLogger(SwaggerTestBase.class); + + public static ObjectMapper mapper() { + if (mapper == null) { + mapper = JsonMapper.builder() + .disable(EnumFeature.WRITE_ENUMS_USING_TO_STRING) + .configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, false) + .changeDefaultPropertyInclusion(incl -> incl + .withContentInclusion(JsonInclude.Include.NON_NULL) + .withValueInclusion(JsonInclude.Include.NON_NULL)) + .accessorNaming(new DefaultAccessorNamingStrategy.Provider() + .withFirstCharAcceptance(true, true)) + .build(); + } + return mapper; + } + + protected ModelResolver modelResolver() { + return new ModelResolver(new ObjectMapper()); + } + + protected void prettyPrint(Object o) { + try { + LOGGER.debug(mapper().writerWithDefaultPrettyPrinter().writeValueAsString(o)); + } catch (Exception e) { + LOGGER.error("Failed to pretty print object", e); + } + } +} diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/v31/ModelResolverOAS31Test.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/v31/ModelResolverOAS31Test.java similarity index 100% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/v31/ModelResolverOAS31Test.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resolving/v31/ModelResolverOAS31Test.java diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/JavaRecordResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/JavaRecordResource.java similarity index 100% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/JavaRecordResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/JavaRecordResource.java diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/JavaRecordWithPathResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/JavaRecordWithPathResource.java similarity index 88% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/JavaRecordWithPathResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/JavaRecordWithPathResource.java index 45b0af2967..26fe9a1931 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/JavaRecordWithPathResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/JavaRecordWithPathResource.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; @Path("sample") public record JavaRecordWithPathResource() { diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/OtherJavaRecordWithPathsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/OtherJavaRecordWithPathsResource.java similarity index 93% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/OtherJavaRecordWithPathsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/OtherJavaRecordWithPathsResource.java index e4a5437f54..9622f227f1 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/OtherJavaRecordWithPathsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/OtherJavaRecordWithPathsResource.java @@ -3,8 +3,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.*; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("sample2") public record OtherJavaRecordWithPathsResource() { diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordSimpleResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordSimpleResource.java similarity index 91% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordSimpleResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordSimpleResource.java index a2952bbe4d..123c9e6e31 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordSimpleResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordSimpleResource.java @@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @Path("test") public class SchemaResolutionWithRecordSimpleResource{ diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordsResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordsResource.java similarity index 97% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordsResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordsResource.java index 0271762a58..e93f154760 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordsResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/SchemaResolutionWithRecordsResource.java @@ -3,8 +3,8 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; @Path("test") public class SchemaResolutionWithRecordsResource { diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/TestControllerWithRecordResource.java b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/TestControllerWithRecordResource.java similarity index 88% rename from modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/TestControllerWithRecordResource.java rename to modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/TestControllerWithRecordResource.java index 3ba8205b51..a06830148f 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resources/TestControllerWithRecordResource.java +++ b/modules/swagger-jakarta-rest/src/test/java/io/swagger/v3/java17/resources/TestControllerWithRecordResource.java @@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; @Path("/v17") public class TestControllerWithRecordResource { diff --git a/modules/swagger-jaxrs2/src/test/java/org/my/project/resources/ResourceInPackageB.java b/modules/swagger-jakarta-rest/src/test/java/org/my/project/resources/ResourceInPackageB.java similarity index 87% rename from modules/swagger-jaxrs2/src/test/java/org/my/project/resources/ResourceInPackageB.java rename to modules/swagger-jakarta-rest/src/test/java/org/my/project/resources/ResourceInPackageB.java index 4a1a6c1f6c..36b57171c5 100644 --- a/modules/swagger-jaxrs2/src/test/java/org/my/project/resources/ResourceInPackageB.java +++ b/modules/swagger-jakarta-rest/src/test/java/org/my/project/resources/ResourceInPackageB.java @@ -3,8 +3,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; import java.util.ArrayList; @Path("/packageB") diff --git a/modules/swagger-jaxrs2/src/test/resources/BinaryParameterResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/BinaryParameterResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/BinaryParameterResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/BinaryParameterResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/AnnotatedModelAndContentExample.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/AnnotatedModelAndContentExample.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/AnnotatedModelAndContentExample.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/AnnotatedModelAndContentExample.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/AnnotatedModelExample.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/AnnotatedModelExample.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/AnnotatedModelExample.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/AnnotatedModelExample.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/ParameterExample.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/ParameterExample.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/ParameterExample.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/ParameterExample.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExample.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExample.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExample.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExample.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithConsumes.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithConsumes.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithConsumes.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithConsumes.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithMediatype.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithMediatype.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithMediatype.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithMediatype.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithSchema.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithSchema.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithSchema.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithSchema.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithSchemaImplementation.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithSchemaImplementation.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/RequestBodyContentExampleWithSchemaImplementation.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/RequestBodyContentExampleWithSchemaImplementation.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/ResponseExample.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/ResponseExample.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/ResponseExample.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/ResponseExample.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/ResponseExampleSchema.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/ResponseExampleSchema.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/ResponseExampleSchema.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/ResponseExampleSchema.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/examples/ResponseExampleSchemaImplementation.yaml b/modules/swagger-jakarta-rest/src/test/resources/examples/ResponseExampleSchemaImplementation.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/examples/ResponseExampleSchemaImplementation.yaml rename to modules/swagger-jakarta-rest/src/test/resources/examples/ResponseExampleSchemaImplementation.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/integration/openapi-configuration.json b/modules/swagger-jakarta-rest/src/test/resources/integration/openapi-configuration.json similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/integration/openapi-configuration.json rename to modules/swagger-jakarta-rest/src/test/resources/integration/openapi-configuration.json diff --git a/modules/swagger-jaxrs2/src/test/resources/logback-test.xml b/modules/swagger-jakarta-rest/src/test/resources/logback-test.xml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/logback-test.xml rename to modules/swagger-jakarta-rest/src/test/resources/logback-test.xml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/EmptyPetResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/EmptyPetResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/EmptyPetResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/EmptyPetResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/FullPetResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/FullPetResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/FullPetResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/FullPetResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/OpenAPI31DefinitionResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/OpenAPI31DefinitionResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/OpenAPI31DefinitionResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/OpenAPI31DefinitionResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/OpenAPIDefinitionResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/OpenAPIDefinitionResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/OpenAPIDefinitionResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/OpenAPIDefinitionResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/SecurityResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/SecurityResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/SecurityResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/SecurityResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/WebHookResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/WebHookResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/WebHookResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/WebHookResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/ComplexCallback31Resource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/ComplexCallback31Resource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/ComplexCallback31Resource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/ComplexCallback31Resource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/ComplexCallbackResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/ComplexCallbackResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/ComplexCallbackResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/ComplexCallbackResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/MultipleCallbacksTestWithOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/MultipleCallbacksTestWithOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/MultipleCallbacksTestWithOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/MultipleCallbacksTestWithOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/RepeatableCallbackResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/RepeatableCallbackResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/RepeatableCallbackResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/RepeatableCallbackResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/SimpleCallbackWithOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/SimpleCallbackWithOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/callbacks/SimpleCallbackWithOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/callbacks/SimpleCallbackWithOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/example/ExamplesResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/example/ExamplesResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/example/ExamplesResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/example/ExamplesResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/links/LinksAndContent31Resource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/links/LinksAndContent31Resource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/links/LinksAndContent31Resource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/links/LinksAndContent31Resource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/links/LinksResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/links/LinksResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/links/LinksResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/links/LinksResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/AnnotatedSameNameOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/AnnotatedSameNameOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/AnnotatedSameNameOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/AnnotatedSameNameOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/ExternalDocumentationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/ExternalDocumentationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/ExternalDocumentationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/ExternalDocumentationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/FullyAnnotatedOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/FullyAnnotatedOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/FullyAnnotatedOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/FullyAnnotatedOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/HiddenOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/HiddenOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/HiddenOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/HiddenOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/NotAnnotatedSameNameOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/NotAnnotatedSameNameOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/NotAnnotatedSameNameOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/NotAnnotatedSameNameOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/OperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/OperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/OperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/OperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/OperationWithoutAnnotationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/OperationWithoutAnnotationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/OperationWithoutAnnotationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/OperationWithoutAnnotationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/ServerOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/ServerOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/ServerOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/ServerOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/operation/SubResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/operation/SubResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/operation/SubResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/operation/SubResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ArraySchemaResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ArraySchemaResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ArraySchemaResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ArraySchemaResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ComplexParameterResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ComplexParameterResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ComplexParameterResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ComplexParameterResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ComplexParameterWithOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ComplexParameterWithOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ComplexParameterWithOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ComplexParameterWithOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/MultipleNotAnnotatedParameter.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/MultipleNotAnnotatedParameter.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/MultipleNotAnnotatedParameter.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/MultipleNotAnnotatedParameter.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/OpenAPIJaxRSAnnotatedParameter.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/OpenAPIJaxRSAnnotatedParameter.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/OpenAPIJaxRSAnnotatedParameter.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/OpenAPIJaxRSAnnotatedParameter.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/OpenAPIWithContentJaxRSAnnotatedParameter.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/OpenAPIWithContentJaxRSAnnotatedParameter.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/OpenAPIWithContentJaxRSAnnotatedParameter.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/OpenAPIWithContentJaxRSAnnotatedParameter.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/OpenAPIWithImplementationJaxRSAnnotatedParameter.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/OpenAPIWithImplementationJaxRSAnnotatedParameter.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/OpenAPIWithImplementationJaxRSAnnotatedParameter.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/OpenAPIWithImplementationJaxRSAnnotatedParameter.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/Parameters31Resource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/Parameters31Resource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/Parameters31Resource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/Parameters31Resource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ParametersResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ParametersResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/ParametersResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/ParametersResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/RepeatableParametersResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/RepeatableParametersResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/RepeatableParametersResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/RepeatableParametersResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/SingleJaxRSAnnotatedParameter.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/SingleJaxRSAnnotatedParameter.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/SingleJaxRSAnnotatedParameter.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/SingleJaxRSAnnotatedParameter.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/parameters/SingleNotAnnotatedParameter.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/SingleNotAnnotatedParameter.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/parameters/SingleNotAnnotatedParameter.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/parameters/SingleNotAnnotatedParameter.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBody31Resource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBody31Resource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBody31Resource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBody31Resource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBodyMethodPriorityResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBodyMethodPriorityResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBodyMethodPriorityResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBodyMethodPriorityResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBodyParameterPriorityResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBodyParameterPriorityResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBodyParameterPriorityResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBodyParameterPriorityResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBodyResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBodyResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/requestbody/RequestBodyResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/requestbody/RequestBodyResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/ComplexResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/ComplexResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/ComplexResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/ComplexResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/ImplementationResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/ImplementationResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/ImplementationResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/ImplementationResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/MethodArrayResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/MethodArrayResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/MethodArrayResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/MethodArrayResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/MethodResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/MethodResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/MethodResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/MethodResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/NoImplementationResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/NoImplementationResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/NoImplementationResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/NoImplementationResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/NoResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/NoResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/NoResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/NoResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/OperationResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/OperationResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/OperationResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/OperationResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/responses/PriorityResponseResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/responses/PriorityResponseResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/responses/PriorityResponseResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/responses/PriorityResponseResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/tags/CompleteTagResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/tags/CompleteTagResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/tags/CompleteTagResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/tags/CompleteTagResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagClassResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagClassResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagClassResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagClassResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagMethodResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagMethodResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagMethodResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagMethodResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagOpenAPIDefinitionResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagOpenAPIDefinitionResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagOpenAPIDefinitionResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagOpenAPIDefinitionResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagOperationResource.yaml b/modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagOperationResource.yaml similarity index 100% rename from modules/swagger-jaxrs2/src/test/resources/petstore/tags/TagOperationResource.yaml rename to modules/swagger-jakarta-rest/src/test/resources/petstore/tags/TagOperationResource.yaml diff --git a/modules/swagger-jaxrs2/src/test/webapp/WEB-INF/web.xml b/modules/swagger-jakarta-rest/src/test/webapp/WEB-INF/web.xml similarity index 87% rename from modules/swagger-jaxrs2/src/test/webapp/WEB-INF/web.xml rename to modules/swagger-jakarta-rest/src/test/webapp/WEB-INF/web.xml index a54330faee..fa8ea703c5 100644 --- a/modules/swagger-jaxrs2/src/test/webapp/WEB-INF/web.xml +++ b/modules/swagger-jakarta-rest/src/test/webapp/WEB-INF/web.xml @@ -13,7 +13,7 @@ jersey.config.server.provider.packages - io.swagger.v3.jaxrs2.integration.resources,io.swagger.v3.jaxrs2.it.resources + io.swagger.v3.jakartarest.integration.resources,io.swagger.v3.jakartarest.it.resources @@ -29,7 +29,7 @@ oas - io.swagger.v3.jaxrs2.integration.OpenApiServlet + io.swagger.v3.jakartarest.integration.OpenApiServlet jersey.config.server.wadl.disableWadl @@ -38,7 +38,7 @@ jersey.config.server.provider.packages - io.swagger.v3.jaxrs2.integration.resources,io.swagger.v3.jaxrs2.it.resources + io.swagger.v3.jakartarest.integration.resources,io.swagger.v3.jakartarest.it.resources @@ -59,7 +59,7 @@ bootstrap - io.swagger.v3.jaxrs2.BootstrapServlet + io.swagger.v3.jakartarest.BootstrapServlet diff --git a/modules/swagger-java17-support/pom.xml b/modules/swagger-java17-support/pom.xml deleted file mode 100644 index 28be53316b..0000000000 --- a/modules/swagger-java17-support/pom.xml +++ /dev/null @@ -1,91 +0,0 @@ - - 4.0.0 - - io.swagger.core.v3 - swagger-project - 2.2.55-SNAPSHOT - ../../pom.xml - - swagger-java17-support - jar - swagger-java17-support - Module for Java 17 specific tests - - - org.testng - testng - test - - - io.swagger.core.v3 - swagger-jaxrs2 - ${project.version} - - - io.swagger.core.v3 - swagger-core - ${project.version} - - - io.swagger.core.v3 - swagger-annotations - ${project.version} - - - io.swagger.core.v3 - swagger-models - ${project.version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2-version} - test - - - javax.annotation - javax.annotation-api - - - org.javassist - javassist - - - - - org.glassfish.jersey.inject - jersey-hk2 - ${jersey2-version} - test - - - javax.annotation - javax.annotation-api - - - org.javassist - javassist - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.11.0 - - 17 - - - - - - 17 - - - diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java b/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java deleted file mode 100644 index 8016011259..0000000000 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java +++ /dev/null @@ -1,36 +0,0 @@ -package io.swagger.v3.java17.resolving; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.swagger.v3.core.jackson.ModelResolver; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public abstract class SwaggerTestBase { - static ObjectMapper mapper; - private static final Logger LOGGER = LoggerFactory.getLogger(SwaggerTestBase.class); - - public static ObjectMapper mapper() { - if (mapper == null) { - mapper = new ObjectMapper(); - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - } - return mapper; - } - - protected ModelResolver modelResolver() { - return new ModelResolver(new ObjectMapper()); - } - - protected void prettyPrint(Object o) { - try { - LOGGER.debug(mapper().writerWithDefaultPrettyPrinter().writeValueAsString(o)); - } catch (Exception e) { - LOGGER.error("Failed to pretty print object", e); - } - } -} diff --git a/modules/swagger-jaxrs2-servlet-initializer-v2/pom.xml b/modules/swagger-jaxrs2-servlet-initializer-v2/pom.xml deleted file mode 100644 index 1eb0b6d209..0000000000 --- a/modules/swagger-jaxrs2-servlet-initializer-v2/pom.xml +++ /dev/null @@ -1,184 +0,0 @@ - - - - swagger-project - io.swagger.core.v3 - 2.2.55-SNAPSHOT - ../../ - - 4.0.0 - swagger-jaxrs2-servlet-initializer-v2 - swagger-jaxrs2-servlet-initializer-v2 - swagger-servlet-initializer-v2 - - src/main/java - install - - - src/test/resources - - - - - biz.aQute.bnd - bnd-maven-plugin - - - org.apache.maven.plugins - maven-jar-plugin - - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - io.swagger.v3.jaxrs2.integration.servlet - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.6.1 - - - jetty.port - jetty.port.stop - - - - - reserve-port - pre-integration-test - - reserve-network-port - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - ${failsafe-plugin-version} - - - - integration-test - verify - - - - ${jetty.port} - - - - - - - org.eclipse.jetty - jetty-maven-plugin - - 10 - ${jetty.port} - a - ${jetty.port.stop} - true - ${project.basedir}/src/test/webapp - - - - io.swagger.core.v3 - swagger-jaxrs2 - ${project.version} - - - - - start-jetty - pre-integration-test - - start - - - 0 - - - - stop-jetty - post-integration-test - - stop - - - - - - - - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - io.swagger.core.v3 - swagger-jaxrs2 - ${project.version} - provided - - - org.testng - testng - test - - - io.rest-assured - rest-assured - test - - - javax.xml.bind - jaxb-api - - - org.apache.httpcomponents - httpmime - - - - - org.mockito - mockito-core - test - - - org.glassfish.jersey.core - jersey-server - ${jersey2-version} - test - - - org.javassist - javassist - - - - - diff --git a/modules/swagger-jaxrs2-servlet-initializer-v2/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer b/modules/swagger-jaxrs2-servlet-initializer-v2/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer deleted file mode 100644 index b108f5ee35..0000000000 --- a/modules/swagger-jaxrs2-servlet-initializer-v2/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer +++ /dev/null @@ -1 +0,0 @@ -io.swagger.v3.jaxrs2.integration.servlet.SwaggerServletInitializer diff --git a/modules/swagger-jaxrs2-servlet-initializer/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerServletInitializer.java b/modules/swagger-jaxrs2-servlet-initializer/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerServletInitializer.java deleted file mode 100644 index 3f269cfe6a..0000000000 --- a/modules/swagger-jaxrs2-servlet-initializer/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerServletInitializer.java +++ /dev/null @@ -1,60 +0,0 @@ -package io.swagger.v3.jaxrs2.integration; - -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.Webhooks; -import io.swagger.v3.oas.integration.IgnoredPackages; -import io.swagger.v3.oas.integration.OpenApiConfigurationException; -import io.swagger.v3.oas.integration.SwaggerConfiguration; - -import javax.servlet.ServletContainerInitializer; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.annotation.HandlesTypes; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.Path; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * deprecated since 2.1.2. Please use io.swagger.v3.jaxrs2.integration.SwaggerServletInitializer in - * swagger-jaxrs2-servlet-initializer-v2 - */ -@Deprecated -@HandlesTypes({Path.class, OpenAPIDefinition.class, ApplicationPath.class, Webhooks.class}) -public class SwaggerServletInitializer implements ServletContainerInitializer { - - static final Set ignored = new HashSet(); - - static { - ignored.addAll(IgnoredPackages.ignored); - } - - public SwaggerServletInitializer() { - } - - @Override - public void onStartup(Set> classes, ServletContext servletContext) throws ServletException { - if (classes != null && ! classes.isEmpty()) { - Set> resources = new LinkedHashSet(); - classes.stream() - .filter(c -> ignored.stream().noneMatch(i -> c.getName().startsWith(i))) - .forEach(resources::add); - if (!resources.isEmpty()) { - // init context - try { - SwaggerConfiguration oasConfig = new SwaggerConfiguration() - .resourceClasses(resources.stream().map(Class::getName).collect(Collectors.toSet())); - - new JaxrsOpenApiContextBuilder() - .openApiConfiguration(oasConfig) - .buildContext(true); - } catch (OpenApiConfigurationException e) { - throw new RuntimeException(e.getMessage(), e); - } - } - } - } - -} diff --git a/modules/swagger-jaxrs2-servlet-initializer/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer b/modules/swagger-jaxrs2-servlet-initializer/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer deleted file mode 100644 index 97230a2efb..0000000000 --- a/modules/swagger-jaxrs2-servlet-initializer/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer +++ /dev/null @@ -1 +0,0 @@ -io.swagger.v3.jaxrs2.integration.SwaggerServletInitializer \ No newline at end of file diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JaxbObjectMapperFactory.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JaxbObjectMapperFactory.java deleted file mode 100644 index b1e84c572d..0000000000 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/JaxbObjectMapperFactory.java +++ /dev/null @@ -1,14 +0,0 @@ -package io.swagger.v3.jaxrs2; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; -import io.swagger.v3.core.util.ObjectMapperFactory; - -public class JaxbObjectMapperFactory extends ObjectMapperFactory { - - public static ObjectMapper getMapper() { - ObjectMapper mapper = ObjectMapperFactory.createJson(); - mapper.registerModule(new JaxbAnnotationModule()); - return mapper; - } -} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/SimpleCategory.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/SimpleCategory.java deleted file mode 100644 index 93331be2b1..0000000000 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/petstore31/SimpleCategory.java +++ /dev/null @@ -1,2 +0,0 @@ -package io.swagger.v3.jaxrs2.petstore31; -public class SimpleCategory {} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MySuperClass.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MySuperClass.java deleted file mode 100644 index 982269c1ce..0000000000 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/MySuperClass.java +++ /dev/null @@ -1,8 +0,0 @@ -package io.swagger.v3.jaxrs2.resources; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; - -@XmlAccessorType(XmlAccessType.FIELD) -public class MySuperClass { -} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResource.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResource.java deleted file mode 100644 index a06e527a88..0000000000 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/SiblingsResource.java +++ /dev/null @@ -1,20 +0,0 @@ -package io.swagger.v3.jaxrs2.resources; - -import io.swagger.v3.jaxrs2.resources.siblings.Pet; -import io.swagger.v3.oas.annotations.media.Schema; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import java.util.List; - -@Path("/test") -public class SiblingsResource { - @GET - @Schema(description = "Cart Pet") - public Pet getCart() { - return null; - } -} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/BaseDTO.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/BaseDTO.java deleted file mode 100644 index 2dd41cd0fd..0000000000 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket2144/BaseDTO.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket2144; - - -public class BaseDTO { - - public String name; -} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SampleDTO.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SampleDTO.java deleted file mode 100644 index 6aaf08a9b9..0000000000 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SampleDTO.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3149; - - -public class SampleDTO { - - public String name; -} diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SampleOtherDTO.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SampleOtherDTO.java deleted file mode 100644 index 806f03b5e8..0000000000 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/resources/generics/ticket3149/SampleOtherDTO.java +++ /dev/null @@ -1,6 +0,0 @@ -package io.swagger.v3.jaxrs2.resources.generics.ticket3149; - -public class SampleOtherDTO { - - public String label; -} diff --git a/modules/swagger-maven-plugin/README.md b/modules/swagger-maven-plugin/README.md index a2720c8911..0540d4512f 100644 --- a/modules/swagger-maven-plugin/README.md +++ b/modules/swagger-maven-plugin/README.md @@ -2,12 +2,12 @@ * Resolves project openAPI specification and saves the result in JSON, YAML or both formats. All parameters except `outputFileName`, `outputFormat`, `skip`, `encoding` and `outputPath` correspond -to `swagger` [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) with same name. +to `swagger` [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) with same name. ## Jakarta namespace support Since version 2.1.7 Swagger Core supports also Jakarta namespace, with a parallel set of artifacts with `-jakarta` suffix, providing the same functionality as the "standard" `javax` namespace ones. -Please check [Wiki](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) for more details +Please check [Wiki](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Getting-started) for more details Both `javax` and `jakarta` examples are provided below @@ -20,9 +20,9 @@ Both `javax` and `jakarta` examples are provided below - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin - 2.2.54 + 4.0.3 openapi ${project.build.directory}/generatedtest @@ -45,20 +45,20 @@ Both `javax` and `jakarta` examples are provided below - io.swagger.core.v3 - swagger-jaxrs2 - 2.2.54 + io.github.vpelikh + swagger-jakarta-rest + 4.0.3 javax.ws.rs javax.ws.rs-api - 2.1 + 4.0.3 javax.servlet javax.servlet-api - 3.1.0 + 4.0.3 @@ -71,9 +71,9 @@ Both `javax` and `jakarta` examples are provided below - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-jakarta - 2.2.54 + 4.0.3 openapi ${project.build.directory}/generatedtest @@ -96,20 +96,20 @@ Both `javax` and `jakarta` examples are provided below - io.swagger.core.v3 - swagger-jaxrs2-jakarta - 2.2.54 + io.github.vpelikh + swagger-jakarta-rest + 4.0.3 jakarta.ws.rs jakarta.ws.rs-api - 3.0.0 + 4.0.3 jakarta.servlet jakarta.servlet-api - 5.0.0 + 4.0.3 @@ -124,9 +124,9 @@ Both `javax` and `jakarta` examples are provided below - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin - 2.2.54 + 4.0.3 openapi ${project.build.directory}/generatedtest @@ -153,9 +153,9 @@ Both `javax` and `jakarta` examples are provided below - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-jakarta - 2.2.54 + 4.0.3 openapi ${project.build.directory}/generatedtest @@ -183,32 +183,32 @@ Parameter | Description | Required | Default `outputFormat`|file format (`JSON`, `YAML`, `JSONANDYAML`| false |`JSON` `skip`|if `TRUE` skip execution| false |`FALSE` `encoding`|encoding of output file(s)| false | -`resourcePackages`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`resourceClasses`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`prettyPrint`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`TRUE` -`sortOutput`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`FALSE` -`alwaysResolveAppPath`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`FALSE` -`skipResolveAppPath`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`FALSE` -`openapiFilePath`|path to openapi file to be merged with resolved specification, see [config](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`configurationFilePath`|path to swagger config file to be merged with resolved specification, see [config](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration)| false | -`filterClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`readerClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`scannerClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`readAllResources`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`ignoredRoutes`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`objectMapperProcessorClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`defaultResponseCode`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`groupsValidationStrategy`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`validatorProcessorClass`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| -`modelConverterClasses`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`contextId`|see [Context](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#context)| false |${project.artifactId} -`openapi31`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | -`schemaResolution`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| DEFAULT | -`openAPIVersion`|see [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| `3.0.1/3.1.0` | +`resourcePackages`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`resourceClasses`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`prettyPrint`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`TRUE` +`sortOutput`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`FALSE` +`alwaysResolveAppPath`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`FALSE` +`skipResolveAppPath`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false |`FALSE` +`openapiFilePath`|path to openapi file to be merged with resolved specification, see [config](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`configurationFilePath`|path to swagger config file to be merged with resolved specification, see [config](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration)| false | +`filterClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`readerClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`scannerClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`readAllResources`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`ignoredRoutes`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`objectMapperProcessorClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`defaultResponseCode`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`groupsValidationStrategy`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`validatorProcessorClass`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)|false| +`modelConverterClasses`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`contextId`|see [Context](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#context)| false |${project.artifactId} +`openapi31`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| false | +`schemaResolution`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| DEFAULT | +`openAPIVersion`|see [configuration property](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties)| `3.0.1/3.1.0` | *** -Since version 2.0.8, `configurationFilePath` parameter is available, allowing to specify a path to a [swagger configuration file](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration); If single maven configuration parameters (e.g. `prettyPrint`) are also defined, these will overwrite any value set in configuration file; the same applies to `openapiFilePath` which takes precedence over `openAPI` field in configuration file. +Since version 2.0.8, `configurationFilePath` parameter is available, allowing to specify a path to a [swagger configuration file](https://github.com/vpelikh/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration); If single maven configuration parameters (e.g. `prettyPrint`) are also defined, these will overwrite any value set in configuration file; the same applies to `openapiFilePath` which takes precedence over `openAPI` field in configuration file. Since version 2.1.6, `sortOutput` parameter is available, allowing to sort object properties and map keys alphabetically. Since version 2.1.6, `objectMapperProcessorClass` allows to configure also the ObjectMapper instance used to serialize the resolved OpenAPI diff --git a/modules/swagger-maven-plugin/pom.xml b/modules/swagger-maven-plugin/pom.xml index 70ee42f86d..26cd9d436d 100644 --- a/modules/swagger-maven-plugin/pom.xml +++ b/modules/swagger-maven-plugin/pom.xml @@ -2,9 +2,9 @@ xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - io.swagger.core.v3 + io.github.vpelikh swagger-project - 2.2.55-SNAPSHOT + 4.0.4-SNAPSHOT ../.. 4.0.0 @@ -31,25 +31,6 @@ maven-plugin-plugin 3.15.2 - - io.swagger.core.v3 - swagger-eclipse-transformer-maven-plugin - ${project.version} - - false - jakarta - ${project.basedir}/../swagger-project-jakarta/modules/${project.artifactId}-jakarta/transformed - - - - transform-jakarta - - run - - package - - - @@ -58,37 +39,17 @@ maven-plugin-api ${maven.version} provided - - - org.codehaus.plexus - plexus-utils - - - org.codehaus.plexus - plexus-component-annotations - - - org.codehaus.plexus - plexus-classworlds - - org.apache.maven maven-core ${maven.version} provided - - - org.codehaus.plexus - plexus-utils - - org.apache.maven.plugin-tools maven-plugin-annotations - 3.15.1 + 3.15.2 provided @@ -98,64 +59,15 @@ - org.codehaus.plexus - plexus-archiver - 4.10.0 - test - - - org.codehaus.plexus - plexus-utils - - - org.apache.commons - commons-compress - - - - - org.apache.maven.plugin-testing - maven-plugin-testing-harness - 3.3.0 - test - - - junit - junit - - - org.codehaus.plexus - plexus-utils - - - org.codehaus.plexus - plexus-component-annotations - - - org.codehaus.plexus - plexus-archiver - - - - - org.apache.commons - commons-lang3 - ${commons-lang-version} - - - org.codehaus.plexus - plexus-utils - 3.6.1 - - - org.codehaus.plexus - plexus-component-annotations - 2.2.0 + io.github.vpelikh + swagger-jakarta-rest + ${project.version} - io.swagger.core.v3 - swagger-jaxrs2 - ${project.version} + javax.inject + javax.inject + 1 + provided @@ -164,22 +76,24 @@ ${junit.version} test - - org.apache.maven - maven-compat - ${maven.version} + org.apache.maven.plugin-testing + maven-plugin-testing-harness + 3.5.1 test - org.codehaus.plexus - plexus-utils + junit + junit + + org.wiremock + wiremock + 4.0.0-beta.38 + test + org.apache.commons commons-compress @@ -201,23 +115,11 @@ jakarta.ws.rs-api test - - com.github.jknack - handlebars-helpers - test - 4.5.3 - - - com.github.jknack - handlebars - test - 4.5.3 - UTF-8 3.9.16 4.13.2 - 1.27.1 + 1.28.0 diff --git a/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java b/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java index 40523ce96a..ff5f55dec9 100644 --- a/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java +++ b/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java @@ -1,7 +1,6 @@ package io.swagger.v3.plugin.maven; import org.codehaus.plexus.classworlds.realm.ClassRealm; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.configurator.AbstractComponentConfigurator; import org.codehaus.plexus.component.configurator.ComponentConfigurationException; import org.codehaus.plexus.component.configurator.ComponentConfigurator; @@ -10,6 +9,8 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator; import org.codehaus.plexus.configuration.PlexusConfiguration; +import javax.inject.Named; +import javax.inject.Singleton; import java.io.File; import java.net.MalformedURLException; @@ -20,7 +21,8 @@ /* * Thanks to original post by Brian Jackson (http://jaxzin.github.io/) http://maven.40175.n5.nabble.com/Adding-project-dependencies-and-generated-classes-to-classpath-of-my-plugin-tp110119p110121.html */ -@Component(role = ComponentConfigurator.class, hint = "include-project-dependencies") +@Named("include-project-dependencies") +@Singleton public class IncludeProjectDependenciesComponentConfigurator extends AbstractComponentConfigurator { @Override diff --git a/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/SwaggerMojo.java b/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/SwaggerMojo.java index 9b81faabd7..4737807783 100644 --- a/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/SwaggerMojo.java +++ b/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/SwaggerMojo.java @@ -5,7 +5,7 @@ import io.swagger.v3.core.util.Configuration; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Yaml; -import io.swagger.v3.jaxrs2.integration.JaxrsOpenApiContextBuilder; +import io.swagger.v3.jakartarest.integration.JaxrsOpenApiContextBuilder; import io.swagger.v3.oas.integration.GenericOpenApiContextBuilder; import io.swagger.v3.oas.integration.OpenApiConfigurationException; import io.swagger.v3.oas.integration.SwaggerConfiguration; @@ -20,8 +20,7 @@ import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.StringUtils; +import tools.jackson.core.JacksonException; import java.io.File; import java.io.IOException; @@ -55,11 +54,11 @@ public void execute() throws MojoExecutionException, MojoFailureException { if (project != null) { String pEnc = project.getProperties().getProperty("project.build.sourceEncoding"); - if (StringUtils.isNotBlank(pEnc)) { + if (pEnc != null && !pEnc.isBlank()) { projectEncoding = pEnc; } } - if (StringUtils.isBlank(encoding)) { + if (encoding == null || encoding.isBlank()) { encoding = projectEncoding; } @@ -78,13 +77,13 @@ public void execute() throws MojoExecutionException, MojoFailureException { try { GenericOpenApiContextBuilder builder = new JaxrsOpenApiContextBuilder() .openApiConfiguration(config); - if (StringUtils.isNotBlank(contextId)) { + if (contextId != null && !contextId.isBlank()) { builder.ctxId(contextId); } OpenApiContext context = builder.buildContext(true); OpenAPI openAPI = context.read(); - if (StringUtils.isNotBlank(config.getFilterClass())) { + if (config.getFilterClass() != null && !config.getFilterClass().isBlank()) { try { OpenAPISpecFilter filterImpl = (OpenAPISpecFilter) this.getClass().getClassLoader().loadClass(config.getFilterClass()).newInstance(); SpecFilter f = new SpecFilter(); @@ -202,7 +201,7 @@ private Optional readStructuredDataFromFile(String filePath, Class out throws MojoFailureException { try { // ignore if config is not provided - if (StringUtils.isBlank(filePath)) { + if (filePath == null || filePath.isBlank()) { return Optional.empty(); } @@ -217,7 +216,7 @@ private Optional readStructuredDataFromFile(String filePath, Class out String fileContent = new String(Files.readAllBytes(pathObj), encoding); // if provided file is empty, log warning and finish - if (StringUtils.isBlank(fileContent)) { + if (fileContent == null || fileContent.isBlank()) { getLog().warn(format("It seems that file '%s' defined in config %s is empty", pathObj.toString(), configName)); return Optional.empty(); @@ -266,6 +265,12 @@ private Optional readStructuredDataFromFile(String filePath, Class out } } + private static String getExtension(String filename) { + if (filename == null) return null; + int dotIndex = filename.lastIndexOf('.'); + return (dotIndex == -1) ? "" : filename.substring(dotIndex + 1); + } + /** * Get sorted list of mappers based on given filename. *

@@ -276,7 +281,7 @@ private Optional readStructuredDataFromFile(String filePath, Class out * @return list of mappers */ private List, T>> getSortedMappers(Path pathObj) { - String ext = FileUtils.extension(pathObj.toString()); + String ext = getExtension(pathObj.toString()); boolean yamlPreferred = false; if (ext.equalsIgnoreCase("yaml") || ext.equalsIgnoreCase("yml")) { yamlPreferred = true; @@ -287,14 +292,14 @@ private List, T>> getSortedMappers(Path pathObj) list.add((content, typeClass) -> { try { return Json.mapper().readValue(content, typeClass); - } catch (IOException e) { + } catch (JacksonException e) { throw new IllegalStateException(e); } }); list.add((content, typeClass) -> { try { return Yaml.mapper().readValue(content, typeClass); - } catch (IOException e) { + } catch (JacksonException e) { throw new IllegalStateException(e); } }); @@ -308,7 +313,7 @@ private List, T>> getSortedMappers(Path pathObj) private SwaggerConfiguration mergeConfig(OpenAPI openAPIInput, SwaggerConfiguration config) { // overwrite all settings provided by other maven config - if (StringUtils.isNotBlank(filterClass)) { + if (filterClass != null && !filterClass.isBlank()) { config.filterClass(filterClass); } if (isCollectionNotBlank(ignoredRoutes)) { @@ -329,10 +334,10 @@ private SwaggerConfiguration mergeConfig(OpenAPI openAPIInput, SwaggerConfigurat if (readAllResources != null) { config.readAllResources(readAllResources); } - if (StringUtils.isNotBlank(readerClass)) { + if (readerClass != null && !readerClass.isBlank()) { config.readerClass(readerClass); } - if (StringUtils.isNotBlank(scannerClass)) { + if (scannerClass != null && !scannerClass.isBlank()) { config.scannerClass(scannerClass); } if (isCollectionNotBlank(resourceClasses)) { @@ -344,20 +349,20 @@ private SwaggerConfiguration mergeConfig(OpenAPI openAPIInput, SwaggerConfigurat if (isCollectionNotBlank(resourcePackages)) { config.resourcePackages(resourcePackages); } - if (StringUtils.isNotBlank(objectMapperProcessorClass)) { + if (objectMapperProcessorClass != null && !objectMapperProcessorClass.isBlank()) { config.objectMapperProcessorClass(objectMapperProcessorClass); } - if (StringUtils.isNotBlank(defaultResponseCode)) { + if (defaultResponseCode != null && !defaultResponseCode.isBlank()) { config.defaultResponseCode(defaultResponseCode); } - if (StringUtils.isNotBlank(defaultResponseCode)) { + if (defaultResponseCode != null && !defaultResponseCode.isBlank()) { config.defaultResponseCode(defaultResponseCode); } - if (StringUtils.isNotBlank(validatorProcessorClass)) { + if (validatorProcessorClass != null && !validatorProcessorClass.isBlank()) { config.validatorProcessorClass(validatorProcessorClass); } - if (StringUtils.isNotBlank(groupsValidationStrategy)) { + if (groupsValidationStrategy != null && !groupsValidationStrategy.isBlank()) { config.groupsValidationStrategy(Configuration.GroupsValidationStrategy.valueOf(groupsValidationStrategy)); } if (isCollectionNotBlank(modelConverterClasses)) { @@ -367,11 +372,11 @@ private SwaggerConfiguration mergeConfig(OpenAPI openAPIInput, SwaggerConfigurat config.openAPI31(openapi31); } - if (StringUtils.isNotBlank(schemaResolution)) { + if (schemaResolution != null && !schemaResolution.isBlank()) { config.schemaResolution(Schema.SchemaResolution.valueOf(schemaResolution)); } - if (StringUtils.isNotBlank(openAPIVersion)) { + if (openAPIVersion != null && !openAPIVersion.isBlank()) { config.openAPIVersion(openAPIVersion); } diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/ASwaggerMavenIntegrationTest.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/ASwaggerMavenIntegrationTest.java index 86aa4e2f50..fe3b882f42 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/ASwaggerMavenIntegrationTest.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/ASwaggerMavenIntegrationTest.java @@ -6,7 +6,6 @@ import io.swagger.v3.core.util.Yaml31; import io.swagger.v3.oas.models.OpenAPI; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.RandomStringUtils; import org.codehaus.plexus.configuration.PlexusConfiguration; import java.io.File; @@ -36,7 +35,7 @@ SwaggerMojo runTest(File pom, Consumer validator) throws Exception { SwaggerMojo swaggerMojo = (SwaggerMojo) lookupConfiguredMojo(pom, "resolve"); // set random context id to not mix states with multiple tests - swaggerMojo.setContextId(RandomStringUtils.randomAscii(32)); + swaggerMojo.setContextId(java.util.UUID.randomUUID().toString().replace("-", "")); assertNotNull(swaggerMojo); swaggerMojo.execute(); diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/PetResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/PetResource.java index 511b18c797..25af371300 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/PetResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/PetResource.java @@ -10,16 +10,16 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.BeanParam; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; @Consumes("application/json") @Path("/pet") diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/ComplexCallbackResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/ComplexCallbackResource.java index a9572f76d0..f2d1ea9cb7 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/ComplexCallbackResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/ComplexCallbackResource.java @@ -9,9 +9,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; public class ComplexCallbackResource { @Callbacks({ diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/MultipleCallbacksTestWithOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/MultipleCallbacksTestWithOperationResource.java index 9ac962674f..649e249a35 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/MultipleCallbacksTestWithOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/MultipleCallbacksTestWithOperationResource.java @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class MultipleCallbacksTestWithOperationResource { @Callbacks({ diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/RepeatableCallbackResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/RepeatableCallbackResource.java index 3615402099..c9969acf28 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/RepeatableCallbackResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/RepeatableCallbackResource.java @@ -6,8 +6,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class RepeatableCallbackResource { @Callback(name = "testCallback", operation = diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/SimpleCallbackWithOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/SimpleCallbackWithOperationResource.java index 056e82fb92..17ab2662cd 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/SimpleCallbackWithOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/callback/SimpleCallbackWithOperationResource.java @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; public class SimpleCallbackWithOperationResource { @Callbacks({ diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/example/ExamplesResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/example/ExamplesResource.java index 7a5db966cb..6f15917efc 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/example/ExamplesResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/example/ExamplesResource.java @@ -11,8 +11,8 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Examples Resource Scenario diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/link/LinksResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/link/LinksResource.java index 97123f4704..e827e4e712 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/link/LinksResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/link/LinksResource.java @@ -7,9 +7,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with Links diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/AnnotatedSameNameOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/AnnotatedSameNameOperationResource.java index 5eec9d0b97..0d8ad3b4c3 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/AnnotatedSameNameOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/AnnotatedSameNameOperationResource.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ExternalDocumentationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ExternalDocumentationResource.java index dd08c56fc1..d930ecdd8f 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ExternalDocumentationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ExternalDocumentationResource.java @@ -6,10 +6,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Resource with Operations Examples diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/FullyAnnotatedOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/FullyAnnotatedOperationResource.java index 4f4b548237..17c1cff304 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/FullyAnnotatedOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/FullyAnnotatedOperationResource.java @@ -8,10 +8,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Resource with Operations Examples diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/HiddenOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/HiddenOperationResource.java index c18083196d..fae90b2d05 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/HiddenOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/HiddenOperationResource.java @@ -5,8 +5,8 @@ import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Hidden Operation diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/InterfaceResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/InterfaceResource.java index ada2d56da1..ba26e1f556 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/InterfaceResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/InterfaceResource.java @@ -3,10 +3,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; /** * Interface resource diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/NotAnnotatedSameNameOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/NotAnnotatedSameNameOperationResource.java index 9d8a7c6537..186359db5c 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/NotAnnotatedSameNameOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/NotAnnotatedSameNameOperationResource.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugin.maven.petstore.petstore.operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationResource.java index 98d3c1142e..be50346088 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationResource.java @@ -7,14 +7,14 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.HEAD; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HEAD; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; /** * Resource with Complete Operations Examples diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationWithoutAnnotationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationWithoutAnnotationResource.java index 7740873aa3..f466b9648f 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationWithoutAnnotationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/OperationWithoutAnnotationResource.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugin.maven.petstore.petstore.operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Default Operation without Annotation diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ServerOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ServerOperationResource.java index 1299bcaf8a..bdf3a476dd 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ServerOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/ServerOperationResource.java @@ -4,8 +4,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.servers.Server; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource With a Hidden Operation diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/SubResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/SubResource.java index 5f8e9c2d14..7921c6e365 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/SubResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/operation/SubResource.java @@ -3,7 +3,7 @@ import io.swagger.v3.plugin.maven.resources.model.Pet; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; /** * SubResource diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ArraySchemaResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ArraySchemaResource.java index 41cdaaed16..799b11c977 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ArraySchemaResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ArraySchemaResource.java @@ -9,9 +9,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; public class ArraySchemaResource { @Path("/arrayschema") diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterResource.java index f5f7507893..b159bad1a8 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a multiple annotated. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterWithOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterWithOperationResource.java index 3b36cfa07b..8429bf55f6 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterWithOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ComplexParameterWithOperationResource.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a multiple annotated. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/MultipleNotAnnotatedParameter.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/MultipleNotAnnotatedParameter.java index d5ca534c6a..c5b2c2fb3f 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/MultipleNotAnnotatedParameter.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/MultipleNotAnnotatedParameter.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; /** * Class with a multiple not annotated parameter. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java index d9c15c2b38..3890aa8e84 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIJaxRSAnnotatedParameter.java @@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java index cdaf233999..6e08ae5f2f 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithContentJaxRSAnnotatedParameter.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java index 252886e104..f85104c6c9 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/OpenAPIWithImplementationJaxRSAnnotatedParameter.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs and open api annotation. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ParametersResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ParametersResource.java index c28cc96b3f..9b182de4ed 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ParametersResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/ParametersResource.java @@ -10,10 +10,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Resource with some Parameters examples diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/RepeatableParametersResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/RepeatableParametersResource.java index 530d9c30ee..0fc58f6ea4 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/RepeatableParametersResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/RepeatableParametersResource.java @@ -10,9 +10,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; public class RepeatableParametersResource { @Path("/repeatableparameter") diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleJaxRSAnnotatedParameter.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleJaxRSAnnotatedParameter.java index 6542dde245..f00b08689f 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleJaxRSAnnotatedParameter.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleJaxRSAnnotatedParameter.java @@ -3,9 +3,9 @@ import io.swagger.v3.plugin.maven.resources.model.User; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Class with a single parameter annotated with jaxrs. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleNotAnnotatedParameter.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleNotAnnotatedParameter.java index a645892c6f..85364cc347 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleNotAnnotatedParameter.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/parameter/SingleNotAnnotatedParameter.java @@ -3,8 +3,8 @@ import io.swagger.v3.plugin.maven.resources.model.User; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Class with a single not annotated parameter. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyMethodPriorityResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyMethodPriorityResource.java index cc063d4ea6..f43922c999 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyMethodPriorityResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyMethodPriorityResource.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody inside Operation and another in Method diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyParameterPriorityResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyParameterPriorityResource.java index abf363d0b3..2f2e7f912c 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyParameterPriorityResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyParameterPriorityResource.java @@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody inside Operation and another in Method diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyResource.java index a72364537c..93bc633407 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/requestbody/RequestBodyResource.java @@ -7,14 +7,14 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; /** * Resource with RequestBody examples diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ComplexResponseResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ComplexResponseResource.java index 488614cda4..0c6d987a0d 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ComplexResponseResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ComplexResponseResource.java @@ -7,8 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with some responses diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ImplementationResponseResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ImplementationResponseResource.java index c73a9a4346..a649554fcb 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ImplementationResponseResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/ImplementationResponseResource.java @@ -5,8 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with a Response at Method Level diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/MethodResponseResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/MethodResponseResource.java index 336cb804ac..425ae3f3a3 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/MethodResponseResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/MethodResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Response at Method Level diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoImplementationResponseResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoImplementationResponseResource.java index 069698aaf2..bcf6e4aa99 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoImplementationResponseResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoImplementationResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.links.LinkParameter; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; /** * Resource with a Response at Method Level diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoResponseResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoResponseResource.java index 3a7ea5b8ea..4ac0b7bfc4 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoResponseResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/NoResponseResource.java @@ -4,8 +4,8 @@ import io.swagger.v3.plugin.maven.resources.model.User; import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; /** * Resource with a Response at Method Level diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/OperationResponseResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/OperationResponseResource.java index dfacd71fa6..e7bdc7696e 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/OperationResponseResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/OperationResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with the response in the Operation Annotation diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/PriorityResponseResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/PriorityResponseResource.java index 06394cfc75..306e41b83f 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/PriorityResponseResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/responses/PriorityResponseResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Response at Method Level and Operation Level. diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/security/SecurityResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/security/SecurityResource.java index 9ab1d59b4e..5eb22be602 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/security/SecurityResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/security/SecurityResource.java @@ -9,10 +9,10 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityScheme; -import javax.ws.rs.GET; -import javax.ws.rs.PATCH; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PATCH; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; @SecurityScheme(name = "myOauth2Security", type = SecuritySchemeType.OAUTH2, diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/CompleteTagResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/CompleteTagResource.java index 5ea76e9ef6..dffd07a961 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/CompleteTagResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/CompleteTagResource.java @@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; @OpenAPIDefinition(tags = { @Tag(name = "Definition First Tag"), diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagMethodResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagMethodResource.java index e6294186f1..ee8e97bca4 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagMethodResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagMethodResource.java @@ -3,9 +3,9 @@ import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; public class TagMethodResource { @GET diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagOperationResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagOperationResource.java index b01e09f426..0d60b8a507 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagOperationResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore/tags/TagOperationResource.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.Operation; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; /** * Resource with a Tag at Operation Level diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore31/PetResource.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore31/PetResource.java index 3329d07f83..e8dc8d86f0 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore31/PetResource.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/petstore/petstore31/PetResource.java @@ -8,10 +8,10 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.plugin.maven.resources.model.Pet; -import javax.ws.rs.Consumes; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; @Path("/pet31") @Produces({"application/json", "application/xml"}) diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/QueryResultBean.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/QueryResultBean.java index 698f95ec29..7269b2d0f0 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/QueryResultBean.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/QueryResultBean.java @@ -1,6 +1,6 @@ package io.swagger.v3.plugin.maven.resources; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.QueryParam; public class QueryResultBean { @QueryParam("skip") diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Category.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Category.java index 5f3b54a614..afa1797bd7 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Category.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Category.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugin.maven.resources.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Category") public class Category { diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ExtensionUser.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ExtensionUser.java index f844faa6a5..7fbacd60b4 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ExtensionUser.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ExtensionUser.java @@ -4,8 +4,8 @@ import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") @Schema( diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ListOfStringsBeanParam.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ListOfStringsBeanParam.java index a9b2271623..7e408e69c6 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ListOfStringsBeanParam.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/ListOfStringsBeanParam.java @@ -1,6 +1,6 @@ package io.swagger.v3.plugin.maven.resources.model; -import javax.ws.rs.QueryParam; +import jakarta.ws.rs.QueryParam; import java.util.List; public class ListOfStringsBeanParam { diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Pet.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Pet.java index 54b31e9946..53d12c3cd9 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Pet.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Pet.java @@ -2,9 +2,9 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Tag.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Tag.java index bc33213540..65e0672e22 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Tag.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/Tag.java @@ -1,7 +1,7 @@ package io.swagger.v3.plugin.maven.resources.model; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Tag") public class Tag { diff --git a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/User.java b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/User.java index 12d673c4db..93fcd54b55 100644 --- a/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/User.java +++ b/modules/swagger-maven-plugin/src/test/java/io/swagger/v3/plugin/maven/resources/model/User.java @@ -2,8 +2,8 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "User") public class User { diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile.xml index 9cd84a64d8..8fd3292d51 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin spec @@ -28,8 +28,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile31.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile31.xml index e93f5db21d..51418d978b 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile31.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFile31.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin spec @@ -29,8 +29,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfig.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfig.xml index 06a049951b..6a9d852eca 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfig.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfig.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin openapiconfig3 @@ -25,8 +25,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigAndOpenApi.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigAndOpenApi.xml index 7ff311d5fb..3a6bfb6a04 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigAndOpenApi.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigAndOpenApi.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin openapiconfig2 @@ -25,8 +25,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigWithOAS3.1Filter.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigWithOAS3.1Filter.xml index bd57d35fe1..b5c5ddc937 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigWithOAS3.1Filter.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromConfigWithOAS3.1Filter.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin openapiconfig2 @@ -26,8 +26,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromJsonInput.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromJsonInput.xml index 2ad19cb687..7ce14051c6 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromJsonInput.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileFromJsonInput.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin openapiconfigjson @@ -28,8 +28,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileJsonAndYaml.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileJsonAndYaml.xml index 364744242b..98064b0ce5 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileJsonAndYaml.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileJsonAndYaml.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin openapi @@ -28,8 +28,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileNoName.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileNoName.xml index b0d6b15288..842b0b3b4a 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileNoName.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileNoName.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin ${project.basedir}/../../../target/generatedtest @@ -27,8 +27,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileWithFilter.xml b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileWithFilter.xml index e4d6e23dde..c041f09ff0 100644 --- a/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileWithFilter.xml +++ b/modules/swagger-maven-plugin/src/test/resources/pom.resolveToFileWithFilter.xml @@ -1,7 +1,7 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin-test jar 1.0-SNAPSHOT @@ -10,7 +10,7 @@ - io.swagger.core.v3 + io.github.vpelikh swagger-maven-plugin spec @@ -28,8 +28,8 @@ - io.swagger.core.v3 - swagger-jaxrs2 + io.github.vpelikh + swagger-jakarta-rest ${project.version} diff --git a/modules/swagger-models/pom.xml b/modules/swagger-models/pom.xml index d42627215b..1f996e4d20 100644 --- a/modules/swagger-models/pom.xml +++ b/modules/swagger-models/pom.xml @@ -2,9 +2,9 @@ xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - io.swagger.core.v3 + io.github.vpelikh swagger-project - 2.2.55-SNAPSHOT + 4.0.4-SNAPSHOT ../.. 4.0.0 @@ -48,12 +48,12 @@ - com.fasterxml.jackson.core + tools.jackson.core jackson-core test - com.fasterxml.jackson.core + tools.jackson.core jackson-databind test @@ -78,7 +78,7 @@ 0.07 0.0 - 1.49 + 1.50 2.28.2 diff --git a/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java b/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java index c37fa7f5a1..5d2d41dd32 100644 --- a/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java +++ b/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java @@ -1,9 +1,6 @@ package io.swagger.test; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; @@ -25,6 +22,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.Test; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.json.JsonMapper; import java.math.BigDecimal; import java.util.ArrayList; @@ -126,12 +125,11 @@ public void testBuilder() throws Exception { } public static String writeJson(Object value) throws Exception { - ObjectMapper mapper = new ObjectMapper(); - - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + ObjectMapper mapper = JsonMapper.builder() + .changeDefaultPropertyInclusion(incl -> incl + .withContentInclusion(JsonInclude.Include.NON_NULL) + .withValueInclusion(JsonInclude.Include.NON_NULL)) + .build(); return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(value); } diff --git a/modules/swagger-project-jakarta/.gitignore b/modules/swagger-project-jakarta/.gitignore deleted file mode 100644 index d5ece13ddc..0000000000 --- a/modules/swagger-project-jakarta/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -build/ -lib/*.jar -target -.idea -.idea_modules -.settings -.project -.classpath -.cache -atlassian-ide-plugin.xml -*.iml -.java-version -sonar-project.properties -test-output/ -*.pyc -**/transformed/*.jar -**/transformed/*.test-jar -**/transformed/*.maven-plugin diff --git a/modules/swagger-project-jakarta/modules/swagger-annotations-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-annotations-jakarta/pom.xml deleted file mode 100644 index 0adff851ab..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-annotations-jakarta/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-annotations-jakarta - swagger-annotations-jakarta - swagger-annotations-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-annotations - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-annotations - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-annotations - ${project.version} - sources - - - - - - - - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-core-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-core-jakarta/pom.xml deleted file mode 100644 index 2553bae39b..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-core-jakarta/pom.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-core-jakarta - swagger-core-jakarta - swagger-core-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-core - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-core - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-core - ${project.version} - sources - - - - - - - - - - - org.apache.commons - commons-lang3 - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - commons-io - commons-io - - - - - io.swagger.core.v3 - swagger-annotations-jakarta - ${project.parent.version} - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.parent.version} - - - org.yaml - snakeyaml - ${snakeyaml-version} - - - jakarta.xml.bind - jakarta.xml.bind-api - - - jakarta.validation - jakarta.validation-api - - - - - com.fasterxml.jackson.core - jackson-annotations - - - com.fasterxml.jackson.core - jackson-databind - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-integration-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-integration-jakarta/pom.xml deleted file mode 100644 index e9ca5f3277..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-integration-jakarta/pom.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-integration-jakarta - swagger-integration-jakarta - swagger-integration-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-integration - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-integration - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-integration - ${project.version} - sources - - - - - - - - - - - io.github.classgraph - classgraph - - - - io.swagger.core.v3 - swagger-core-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.version} - - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-jaxrs2-jakarta/pom.xml deleted file mode 100644 index 67aa06a615..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-jakarta/pom.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-jaxrs2-jakarta - swagger-jaxrs2-jakarta - swagger-jaxrs2-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2 - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2 - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2 - ${project.version} - sources - - - - - - - - - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - io.github.classgraph - classgraph - - - org.javassist - javassist - 3.30.2-GA - - - commons-io - commons-io - - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-annotations-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-integration-jakarta - ${project.version} - - - org.yaml - snakeyaml - ${snakeyaml-version} - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - - com.fasterxml.jackson.core - jackson-databind - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - ${jackson-version} - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-jakarta/pom.xml deleted file mode 100644 index 56db593760..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-jakarta/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-jaxrs2-servlet-initializer-jakarta - swagger-jaxrs2-servlet-initializer-jakarta - swagger-jaxrs2-servlet-initializer-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer - ${project.version} - sources - - - - - - - - - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - provided - - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-v2-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-v2-jakarta/pom.xml deleted file mode 100644 index 491e006083..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-v2-jakarta/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-jaxrs2-servlet-initializer-v2-jakarta - swagger-jaxrs2-servlet-initializer-v2-jakarta - swagger-jaxrs2-servlet-initializer-v2-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer-v2 - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer-v2 - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer-v2 - ${project.version} - sources - - - - - - - - - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - provided - - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/pom.xml deleted file mode 100644 index da908839a7..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/pom.xml +++ /dev/null @@ -1,248 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-maven-plugin-jakarta - maven-plugin - swagger-maven-plugin-jakarta - swagger-maven-plugin-jakarta - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.11.0 - - - get-original-artifacts - generate-resources - - copy - - - - - - io.swagger.core.v3 - swagger-maven-plugin - ${project.version} - sources - jar - ${project.build.directory} - ${project.artifactId}-${project.version}-sources.jar - - - - io.swagger.core.v3 - swagger-maven-plugin - ${project.version} - javadoc - jar - ${project.build.directory} - ${project.artifactId}-${project.version}-javadoc.jar - - - - - - - - com.coderplus.maven.plugins - copy-rename-maven-plugin - 1.0.1 - - - copy-file - compile - - rename - - - true - true - ${project.basedir}/transformed/${project.artifactId}-${project.version}.maven-plugin - ${project.basedir}/transformed/${project.artifactId}-${project.version}.jar - - - - - - maven-resources-plugin - - 3.1.0 - - - copy-resources - package - - copy-resources - - - ${project.build.directory} - true - - - transformed - false - - ${project.artifactId}-${project.version}.jar - - - - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - package - - java - - - io.swagger.v3.plugin.maven.jakarta.JakartaTransformer - - ${project.build.directory}/${project.artifactId}-${project.version}.jar - ${project.build.directory}/transformertemp - ${jakarta.ws-version} - ${jakarta.activation-api-version} - ${jackson-version} - - - - - - - org.apache.maven.plugins - maven-plugin-plugin - 3.15.2 - - - true - swagger - - - - mojo-descriptor - - descriptor - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.6.1 - - - attach-artifacts - package - - attach-artifact - - - - - ${project.build.directory}/${project.artifactId}-${project.version}-sources.jar - jar - sources - - - ${project.build.directory}/${project.artifactId}-${project.version}-javadoc.jar - jar - javadoc - - - - - - - - - - - - org.apache.maven - maven-plugin-api - ${maven.version} - provided - - - org.codehaus.plexus - plexus-utils - - - org.codehaus.plexus - plexus-component-annotations - - - org.codehaus.plexus - plexus-classworlds - - - - - org.apache.maven - maven-core - ${maven.version} - provided - - - org.codehaus.plexus - plexus-utils - - - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.15.1 - provided - - - org.apache.maven - maven-artifact - - - - - org.apache.commons - commons-lang3 - ${commons-lang-version} - - - org.codehaus.plexus - plexus-utils - 3.6.1 - - - org.codehaus.plexus - plexus-component-annotations - 2.2.0 - - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - - - - - - UTF-8 - 3.9.16 - - diff --git a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java deleted file mode 100644 index a95022306f..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java +++ /dev/null @@ -1,365 +0,0 @@ -package io.swagger.v3.plugin.maven.jakarta; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedInputStream; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.net.URI; -import java.nio.file.CopyOption; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.FileVisitResult; -import java.nio.file.Files; -import java.nio.file.LinkOption; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.SimpleFileVisitor; -import java.nio.file.StandardCopyOption; -import java.nio.file.attribute.BasicFileAttributes; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; - -/** - * Transforms swagger-maven-plugin jar file to be used with Jakarta namespace using artifactId swagger-maven-plugin-jakarta - * - */ -public class JakartaTransformer { - - private static final Logger LOGGER = LoggerFactory.getLogger(JakartaTransformer.class); - - - /* - * Substitution tokens + regex - */ - private static Set files = - Stream.of( - // "META-INF/MANIFEST.MF", - "META-INF/maven/plugin.xml", - "META-INF/maven/io.swagger.core.v3/swagger-maven-plugin/plugin-help.xml", - // "META-INF/plexus/components.xml", - "META-INF/maven/io.swagger.core.v3/swagger-maven-plugin/pom.xml", - "META-INF/maven/io.swagger.core.v3/swagger-maven-plugin/pom.properties") - .collect(Collectors.toCollection(HashSet::new)); - - private static final String jakartaXmlBindDep = "\n" + - " jakarta.xml.bind\n" + - " jakarta.xml.bind-api\n" + - " VERSION\n" + - " \n"; - - private static final String jakartaXmlBindRegex = "^.*(.*jakarta\\.xml\\.bind((?!).)*).*$"; - - private static final String jakartaValidationDep = "\n" + - " jakarta.validation\n" + - " jakarta.validation-api\n" + - " VERSION\n" + - " \n"; - - private static final String jakartaValidationRegex = "^.*(.*jakarta\\.validation((?!).)*).*$"; - - private static final String jacksonJsonDep = "\n" + - " com.fasterxml.jackson.jakarta.rs\n" + - " jackson-jakarta-rs-json-provider\n" + - " VERSION\n" + - " \n" + - " \n" + - " jakarta.activation\n" + - " jakarta.activation-api\n" + - " \n" + - " \n" + - " jakarta.xml.bind\n" + - " jakarta.xml.bind-api\n" + - " \n" + - " \n" + - " "; - - private static final String jacksonJsonRegex = "^.*(.*jackson\\-jaxrs\\-json((?!).)*).*$"; - - private static final String jacksonBaseDep = "\n" + - " com.fasterxml.jackson.jakarta.rs\n" + - " jackson-jakarta-rs-base\n" + - " VERSION\n" + - " "; - - private static final String jacksonBaseRegex = "^.*(.*jackson\\-jaxrs\\-base((?!).)*).*$"; - - private static final String jacksonJaxbDep = "\n" + - " com.fasterxml.jackson.module\n" + - " jackson-module-jakarta-xmlbind-annotations\n" + - " VERSION\n" + - " \n" + - " \n" + - " jakarta.activation\n" + - " jakarta.activation-api\n" + - " \n" + - " \n" + - " jakarta.xml.bind\n" + - " jakarta.xml.bind-api\n" + - " \n" + - " \n" + - " com.sun.activation\n" + - " jakarta.activation\n" + - " " + - " \n" + - " "; - - private static final String jacksonJaxbRegex = "^.*(.*jackson\\-module\\-jaxb((?!).)*).*$"; - - private static final String jakartaActivationDep = "\n" + - " jakarta.activation\n" + - " jakarta.activation-api\n" + - " VERSION\n" + - " "; - - private static final String jakartaActivationRegex = "^.*(.*jakarta\\.activation((?!).)*).*$"; - - /** - * - * Extracts Jar into temp directory - * - */ - private static void extract(String inPath, String outPath) throws Exception { - - Path target = Paths.get(outPath); - Path source = Paths.get(inPath); - - try (ZipInputStream zis = new ZipInputStream(new FileInputStream(source.toFile()))) { - ZipEntry zipEntry = zis.getNextEntry(); - - while (zipEntry != null) { - Path path = target.resolve(zipEntry.getName()).normalize(); - - if (!path.startsWith(target + File.separator)) { - throw new IOException("Entry is outside of the target dir: " + zipEntry.getName()); - } - - if (zipEntry.isDirectory()) { - if (!Files.isDirectory(path)) { - Files.createDirectories(path); - } - } else { - // fix for Windows-created archives - Path parent = path.getParent(); - if (!Files.isDirectory(parent)) { - Files.createDirectories(parent); - } - - // write file content - try (OutputStream os = Files.newOutputStream(path)) { - byte[] buffer = new byte[1024]; - int len; - while ((len = zis.read(buffer)) > 0) { - os.write(buffer, 0, len); - } - } - } - zipEntry = zis.getNextEntry(); - } - zis.closeEntry(); - } - } - - /** - * - * Compress temp directory back into Jar after transformed - * - */ - public static void jar(Path sourcePath, String outJarPath) throws IOException { - - URI uri = URI.create("jar:" + Paths.get(outJarPath).normalize().toUri()); - - Files.walkFileTree(sourcePath, new SimpleFileVisitor() { - @Override - public FileVisitResult visitFile(Path file, - BasicFileAttributes attributes) { - - if (attributes.isSymbolicLink()) { - return FileVisitResult.CONTINUE; - } - - Map env = new HashMap<>(); - env.put("create", "true"); - - try (FileSystem zipfs = FileSystems.newFileSystem(uri, env)) { - - Path targetFile = sourcePath.relativize(file); - Path pathInZipfile = zipfs.getPath(targetFile.toString()); - - if (pathInZipfile.getParent() != null) { - Files.createDirectories(pathInZipfile.getParent()); - } - - CopyOption[] options = { - StandardCopyOption.REPLACE_EXISTING, - StandardCopyOption.COPY_ATTRIBUTES, - LinkOption.NOFOLLOW_LINKS - }; - Files.copy(file, pathInZipfile, options); - - } catch (IOException e) { - LOGGER.error("Error copying file '{}' into ZIP filesystem", file, e); - } - - return FileVisitResult.CONTINUE; - } - - @Override - public FileVisitResult visitFileFailed(Path file, IOException exc) { - // - return FileVisitResult.CONTINUE; - } - - }); - - } - - /** - * - * Replaces swagger artifact adding `-jakarta` suffix - * - */ - private static void replaceInJar(String filePath) throws Exception { - try (FileInputStream fis = new FileInputStream(filePath); - BufferedInputStream bis = new BufferedInputStream(fis); - ZipInputStream zis = new ZipInputStream(bis); - ZipOutputStream out = new ZipOutputStream(new FileOutputStream(filePath + ".jar"))) { - - for (ZipEntry zipEntry; (zipEntry = zis.getNextEntry()) != null; ) { - out.putNextEntry(new ZipEntry(zipEntry.getName())); - - if (files.contains(zipEntry.getName())) { - BufferedReader reader = new BufferedReader(new InputStreamReader(zis)); - PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out))); - for (String line; (line = reader.readLine()) != null; ) { - line = line.replace("swagger-maven-plugin", "swagger-maven-plugin-jakarta"); - line = line.replace("swagger-project", "swagger-project-jakarta"); - line = line.replace("swagger-jaxrs2", "swagger-jaxrs2-jakarta"); - line = line.replace("swagger-models", "swagger-models-jakarta"); - line = line.replace("swagger-annotations", "swagger-annotations-jakarta"); - line = line.replace("swagger-core", "swagger-core-jakarta"); - line = line.replace("swagger-integration", "swagger-integration-jakarta"); - writer.println(line); - } - writer.flush(); - } else { - byte[] buf = new byte[8192]; - int length; - while ((length = zis.read(buf)) > 0) { - out.write(buf, 0, length); - } - } - - } - } - Files.delete(Paths.get(filePath)); - Files.move(Paths.get(filePath + ".jar"), Paths.get(filePath)); - - } - - public static void main(String[] args) throws Exception { - String filePath = args[0]; - String outPath = args[1]; - String jakartaVersion = args[2]; - String jakartaActivationVersion = args[3]; - String jacksonVersion = args[4]; - - replaceInJar(filePath); - extract(filePath, outPath); - - // rename dir - Files.move(Paths.get(outPath + File.separator + - "META-INF" + File.separator + - "maven" + File.separator + - "io.swagger.core.v3" + File.separator + - "swagger-maven-plugin"), - Paths.get(outPath + File.separator + - "META-INF" + File.separator + - "maven" + File.separator + - "io.swagger.core.v3" + File.separator + - "swagger-maven-plugin-jakarta") - ); - - Path pluginXmlPath = Paths.get( - outPath + - File.separator + "META-INF" + - File.separator + "maven" + - File.separator + "plugin.xml"); - String pluginXml = new String(Files.readAllBytes(pluginXmlPath)); - Matcher m = Pattern.compile(jakartaXmlBindRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jakartaXmlBindDep.replace("VERSION", jakartaVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jakartaValidationRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jakartaValidationDep.replace("VERSION", jakartaVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jacksonJsonRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jacksonJsonDep.replace("VERSION", jacksonVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jacksonBaseRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jacksonBaseDep.replace("VERSION", jacksonVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jacksonJaxbRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jacksonJaxbDep.replace("VERSION", jacksonVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jakartaActivationRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jakartaActivationDep.replace("VERSION", jakartaActivationVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - // write back to plugin.xml file - Files.write(pluginXmlPath, pluginXml.getBytes()); - - // delete the original jar - Files.delete(Paths.get(filePath)); - // compress the new jar - jar(Paths.get(outPath), filePath); - // delete the temp directory - Files.walk(Paths.get(outPath)) - .sorted(Comparator.reverseOrder()) - .map(Path::toFile) - .forEach(File::delete); - - } - -} diff --git a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/transformed/README.md b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/transformed/README.md deleted file mode 100644 index e96b3ae207..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/transformed/README.md +++ /dev/null @@ -1,3 +0,0 @@ -#### Don't delete - -Target directory for eclipse transformer plugin; Jakarta EE 9+ artifacts are generated in this directory diff --git a/modules/swagger-project-jakarta/modules/swagger-models-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-models-jakarta/pom.xml deleted file mode 100644 index 0082c4329f..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-models-jakarta/pom.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 2.2.55-SNAPSHOT - ../.. - - 4.0.0 - swagger-models-jakarta - swagger-models-jakarta - swagger-models-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-models - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-models - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-models - ${project.version} - sources - - - - - - - - - - - com.fasterxml.jackson.core - jackson-annotations - - - - - diff --git a/modules/swagger-project-jakarta/pom.xml b/modules/swagger-project-jakarta/pom.xml deleted file mode 100644 index 0e2694f7e1..0000000000 --- a/modules/swagger-project-jakarta/pom.xml +++ /dev/null @@ -1,505 +0,0 @@ - - 4.0.0 - io.swagger.core.v3 - swagger-project-jakarta - pom - swagger-project-jakarta - swagger-project-jakarta - 2.2.55-SNAPSHOT - https://github.com/swagger-api/swagger-core - - scm:git:git@github.com:swagger-api/swagger-core.git - scm:git:git@github.com:swagger-api/swagger-core.git - https://github.com/swagger-api/swagger-core - - - 2.2.0 - - - - frantuma - Francesco Tumanischvili - frantuma@yahoo.com - - - - github - https://github.com/swagger-api/swagger-core/issues - - - - swagger-swaggersocket - https://groups.google.com/forum/#!forum/swagger-swaggersocket - - - - - Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0.html - repo - - - - install - target - ${project.artifactId}-${project.version} - - - META-INF - ../../../.. - true - - NOTICE - LICENSE - - - - - - maven-compiler-plugin - 3.11.0 - - - org.apache.maven.plugins - maven-enforcer-plugin - ${enforcer-plugin-version} - - - enforce-versions - - enforce - - - - - - true - No Snapshots Allowed! - - - (,2.1.0),(2.1.0,2.2.0),(2.2.0,) - Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively. - - - - - - - - maven-dependency-plugin - - - copy-deps - package - - copy-dependencies - - - ${project.build.directory}/lib - - - - - - org.sonatype.central - central-publishing-maven-plugin - 0.10.0 - true - - central - true - published - 3600 - - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - - --pinentry-mode - loopback - - - - - org.eclipse.jetty - jetty-maven-plugin - ${jetty-version} - - - org.glassfish.jersey.core - jersey-server - ${jersey2-version} - - - org.javassist - javassist - - - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2-version} - - - org.javassist - javassist - - - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2-version} - - - org.javassist - javassist - - - - - org.glassfish.jersey.inject - jersey-hk2 - ${jersey2-version} - - - org.javassist - javassist - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${enforcer-plugin-version} - - - - - - - release - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - - --pinentry-mode - loopback - - - - - sign-artifacts - verify - - sign - - - - - - - - - - modules/swagger-annotations-jakarta - modules/swagger-models-jakarta - modules/swagger-core-jakarta - modules/swagger-integration-jakarta - modules/swagger-jaxrs2-jakarta - modules/swagger-jaxrs2-servlet-initializer-jakarta - modules/swagger-jaxrs2-servlet-initializer-v2-jakarta - modules/swagger-maven-plugin-jakarta - - - - target/site - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.12.0 - - true - 1.8 - UTF-8 - 1g - true - - https://docs.oracle.com/javase/8/docs/api - - - - - - org.apache.maven.plugins - maven-jxr-plugin - 2.5 - - true - - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.9 - - - - project-team - - - - - - - - - - org.apache.maven - maven-plugin-tools-api - 3.5.1 - - - org.slf4j - slf4j-api - ${slf4j-version} - compile - - - org.slf4j - slf4j-ext - ${slf4j-version} - compile - - - org.slf4j - slf4j-log4j12 - ${slf4j-version} - provided - - - org.apache.commons - commons-lang3 - ${commons-lang-version} - compile - - - org.apache.httpcomponents - httpclient - ${httpcomponents-version} - - - commons-io - commons-io - ${commons-io-version} - test - - - io.github.classgraph - classgraph - ${classgraph-version} - - - ch.qos.logback - logback-classic - ${logback-version} - provided - - - ch.qos.logback - logback-core - ${logback-version} - provided - - - joda-time - joda-time - ${joda-time-version} - - - org.joda - joda-convert - ${joda-version} - - - org.yaml - snakeyaml - ${snakeyaml-version} - - - - - - jakarta.servlet - jakarta.servlet-api - ${servlet-api-version} - provided - - - - jakarta.xml.bind - jakarta.xml.bind-api - ${jakarta.xml.bind-api-version} - - - jakarta.activation - jakarta.activation-api - ${jakarta.activation-api-version} - - - jakarta.ws.rs - jakarta.ws.rs-api - ${jakarta.ws-version} - - - jakarta.validation - jakarta.validation-api - ${jakarta.validation-version} - - - - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson-annotations-version} - - - com.fasterxml.jackson.core - jackson-core - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind-version} - - - jakarta.activation - jakarta.activation-api - - - jakarta.xml.bind - jakarta.xml.bind-api - - - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${jackson-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson-version} - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - ${jackson-version} - - - jakarta.activation - jakarta.activation-api - - - jakarta.xml.bind - jakarta.xml.bind-api - - - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-base - ${jackson-version} - - - com.fasterxml.jackson.module - jackson-module-jakarta-xmlbind-annotations - ${jackson-version} - - - jakarta.activation - jakarta.activation-api - - - jakarta.xml.bind - jakarta.xml.bind-api - - - com.sun.activation - jakarta.activation - - - - - - com.google.guava - guava - ${guava-version} - test - - - - - 8 - 2.2.4 - 2.13.0 - 2.6 - 3.1.0 - 3.0.2 - 3.0.1 - 2.1.3 - 6.4.0 - 5.0.0 - 2.48 - 2.22.1 - 2.22 - 2.22.1 - 1.6.3 - 4.8.192 - 32.1.3-jre - 1.10.15 - 3.20.0 - 2.18.0 - 2.0.17 - 9.4.56.v20240826g - 7.9.0 - 2.28.2 - 4.5.1 - 4.5.14 - 1.17.2 - - 2.22.2 - 3.2.1 - 2.22.2 - - 0.90 - 0.90 - 0 - - UTF-8 - 2026-08-18T10:46:19Z - 0.5.0 - 3.9.14 - 1.27.1 - - diff --git a/pom.xml b/pom.xml index 9f343b8361..3655f0c173 100644 --- a/pom.xml +++ b/pom.xml @@ -1,17 +1,17 @@ 4.0.0 - io.swagger.core.v3 + io.github.vpelikh swagger-project pom swagger-project swagger-project - 2.2.55-SNAPSHOT - https://github.com/swagger-api/swagger-core +4.0.4-SNAPSHOT + https://github.com/vpelikh/swagger-core - scm:git:git@github.com:swagger-api/swagger-core.git - scm:git:git@github.com:swagger-api/swagger-core.git - https://github.com/swagger-api/swagger-core + scm:git:git@github.com:vpelikh/swagger-core.git + scm:git:git@github.com:vpelikh/swagger-core.git + https://github.com/vpelikh/swagger-core 2.2.0 @@ -35,7 +35,7 @@ github - https://github.com/swagger-api/swagger-core/issues + https://github.com/vpelikh/swagger-core/issues @@ -94,7 +94,7 @@ maven-compiler-plugin - 3.11.0 + 3.15.0 org.apache.maven.plugins @@ -153,14 +153,14 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.12.0 + ${maven-javadoc-plugin-version} true - 1.8 + 17 UTF-8 1g - http://docs.oracle.com/javase/8/docs/api + https://docs.oracle.com/en/java/javase/17/docs/api ${javadoc.package.exclude} @@ -195,12 +195,12 @@ org.apache.maven.plugins maven-site-plugin - 3.12.1 + 3.22.0 org.sonatype.central central-publishing-maven-plugin - 0.10.0 + 0.11.0 true central @@ -227,24 +227,9 @@ JavaJAXRS;resolution:=optional,\ JavaServlet;resolution:=optional -define-contract: \ - osgi.contract;\ - osgi.contract=JavaJAXRS;\ - version:List="2.0";\ - uses:="\ - javax.ws.rs,\ - javax.ws.rs.core,\ - javax.ws.rs.ext,\ - javax.ws.rs.client,\ - javax.ws.rs.container",\ - osgi.contract;\ - osgi.contract=JavaServlet;\ - version:List="4.0";\ - uses:="\ - javax.servlet,\ - javax.servlet.annotation,\ - javax.servlet.descriptor,\ - javax.servlet.http" - -cdiannotations: + osgi.contract;osgi.contract=JavaJAXRS;version:List="4.0";uses:="jakarta.ws.rs,jakarta.ws.rs.core,jakarta.ws.rs.ext,jakarta.ws.rs.client,jakarta.ws.rs.container",\ + osgi.contract;osgi.contract=JavaServlet;version:List="6.0";uses:="jakarta.servlet,jakarta.servlet.annotation,jakarta.servlet.descriptor,jakarta.servlet.http" + -cdiannotations: * ]]> @@ -258,7 +243,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.2.8 @@ -268,14 +253,14 @@ - org.eclipse.jetty - jetty-maven-plugin + org.eclipse.jetty.ee11 + jetty-ee11-maven-plugin ${jetty-version} org.glassfish.jersey.core jersey-server - ${jersey2-version} + ${jersey-version} org.javassist @@ -286,7 +271,7 @@ org.glassfish.jersey.containers jersey-container-servlet - ${jersey2-version} + ${jersey-version} org.javassist @@ -297,7 +282,7 @@ org.glassfish.jersey.media jersey-media-multipart - ${jersey2-version} + ${jersey-version} org.javassist @@ -308,7 +293,7 @@ org.glassfish.jersey.inject jersey-hk2 - ${jersey2-version} + ${jersey-version} org.javassist @@ -326,7 +311,7 @@ org.jacoco jacoco-maven-plugin - 0.8.6 + 0.8.15 @@ -339,7 +324,7 @@ org.owasp dependency-check-maven - 6.5.3 + 13.0.0 true @@ -361,7 +346,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.2.8 @@ -382,36 +367,22 @@ - - java-17-modules - - [17,) - - - modules/swagger-java17-support - - bom-it modules/swagger-bom-integration-test - modules/swagger-annotations modules/swagger-models modules/swagger-core modules/swagger-integration - modules/swagger-jaxrs2 - modules/swagger-jaxrs2-servlet-initializer - modules/swagger-jaxrs2-servlet-initializer-v2 modules/swagger-bom modules/swagger-maven-plugin - modules/swagger-eclipse-transformer-maven-plugin - modules/swagger-project-jakarta - + modules/swagger-jakarta-rest + modules/swagger-jakarta-rest-servlet-initializer target/site @@ -419,15 +390,15 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.12.0 + ${maven-javadoc-plugin-version} true - 1.8 + 17 UTF-8 1g true - https://docs.oracle.com/javase/8/docs/api + https://docs.oracle.com/en/java/javase/17/docs/api @@ -435,7 +406,7 @@ org.apache.maven.plugins maven-jxr-plugin - 2.5 + 3.6.0 true @@ -443,7 +414,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 2.9 + 3.9.0 @@ -473,12 +444,6 @@ ${slf4j-version} compile - - org.apache.commons - commons-lang3 - ${commons-lang-version} - compile - org.testng testng @@ -542,7 +507,7 @@ ${classgraph-version} - com.fasterxml.jackson.dataformat + tools.jackson.dataformat jackson-dataformat-yaml ${jackson-version} @@ -552,18 +517,13 @@ ${jackson-annotations-version} - com.fasterxml.jackson.core + tools.jackson.core jackson-databind - ${jackson-databind-version} - - - com.fasterxml.jackson.core - jackson-core ${jackson-version} - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 + tools.jackson.core + jackson-core ${jackson-version} @@ -589,15 +549,25 @@ ${joda-version} - org.yaml - snakeyaml - ${snakeyaml-version} + org.snakeyaml + snakeyaml-engine + ${snakeyaml-engine-version} jakarta.ws.rs jakarta.ws.rs-api ${jakarta.ws-version} + + tools.jackson.jakarta.rs + jackson-jakarta-rs-json-provider + ${jackson-version} + + + tools.jackson.jakarta.rs + jackson-jakarta-rs-base + ${jackson-version} + com.google.guava guava @@ -622,45 +592,57 @@ 3.0.25 test + + tools.jackson.module + jackson-module-jakarta-xmlbind-annotations + ${jackson-version} + + + jakarta.annotation + jakarta.annotation-api + ${jakarta.annotation-api-version} + compile + - 8 - 2.2.4 - 2.13.0 - 2.6 - 2.1.6 - 2.3.3 - 1.2.2 - 6.4.0 - 4.0.4 - 2.48 - 2.22.1 + 17 + 3.0.1 + 2.14.3 + 3.1.1 + 4.0.0 + 4.0.5 + 2.1.4 + 7.3.0 + 6.1.0 + 4.0.2 + 3.0.0 + 3.1.1 2.22 - 2.22.1 + 3.2.2 1.6.3 4.8.192 - 32.1.3-jre - 1.10.15 - 3.20.0 - 2.18.0 - 2.0.17 - 9.4.56.v20240826 + 33.6.0-jre + 1.10.17 + 2.22.0 + 2.0.18 + 12.1.12 7.12.0 - 2.28.2 - 4.5.1 + 5.23.0 + 6.0.1 4.5.14 - 1.22.0 + 1.22.1 + 2.4.10 3.5.6 - 3.2.1 - 2.22.2 + 3.6.3 + 3.5.6 + 3.12.0 0.90 0.90 0 - 0.5.0 UTF-8 - 2026-08-18T10:46:11Z +2026-08-12T19:11:45Z