diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml
index b5858800..b56ca4c7 100644
--- a/.config/checkstyle/checkstyle.xml
+++ b/.config/checkstyle/checkstyle.xml
@@ -65,6 +65,7 @@
+
@@ -111,14 +112,17 @@
+
+
+
@@ -144,6 +148,7 @@
+
diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml
index 8dde42bc..4c72bf23 100644
--- a/.config/pmd/java/ruleset.xml
+++ b/.config/pmd/java/ruleset.xml
@@ -169,7 +169,7 @@
-
+
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index cb721301..91c04da8 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -61,4 +61,4 @@ body:
attributes:
label: Additional information
description: |
- Any other relevant information you'd like to include
+ Any other relevant information you'd like to include, e.g. screenshots or video recordings of the bug
diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml
index 0cd2d9b7..29ebdae7 100644
--- a/.github/workflows/check-build.yml
+++ b/.github/workflows/check-build.yml
@@ -19,9 +19,6 @@ on:
- '.idea/**'
- 'assets/**'
-env:
- DEMO_MAVEN_MODULE: ${{ github.event.repository.name }}-demo
-
jobs:
build:
runs-on: ubuntu-latest
@@ -33,19 +30,20 @@ jobs:
steps:
- uses: actions/checkout@v7
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ matrix.distribution }}
- java-version: ${{ matrix.java }}
-
- - name: Cache Maven
- uses: actions/cache@v6
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-mvn-build-
+ - parallel:
+ - name: Set up JDK
+ uses: actions/setup-java@v6
+ with:
+ distribution: ${{ matrix.distribution }}
+ java-version: ${{ matrix.java }}
+
+ - name: Cache Maven
+ uses: actions/cache@v6
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-mvn-build-
- name: Build with Maven
run: ./mvnw -B clean package
@@ -68,13 +66,6 @@ jobs:
exit 1
fi
- - name: Upload demo files
- uses: actions/upload-artifact@v7
- with:
- name: demo-files-java-${{ matrix.java }}
- path: ${{ env.DEMO_MAVEN_MODULE }}/target/${{ env.DEMO_MAVEN_MODULE }}.jar
- if-no-files-found: error
-
checkstyle:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
@@ -86,27 +77,28 @@ jobs:
steps:
- uses: actions/checkout@v7
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ matrix.distribution }}
- java-version: ${{ matrix.java }}
-
- - name: Cache Maven
- uses: actions/cache@v6
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-mvn-checkstyle-
-
- - name: CheckStyle Cache
- uses: actions/cache@v6
- with:
- path: '**/target/checkstyle-cachefile'
- key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-checkstyle-
+ - parallel:
+ - name: Set up JDK
+ uses: actions/setup-java@v6
+ with:
+ distribution: ${{ matrix.distribution }}
+ java-version: ${{ matrix.java }}
+
+ - name: Cache Maven
+ uses: actions/cache@v6
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-mvn-checkstyle-
+
+ - name: CheckStyle Cache
+ uses: actions/cache@v6
+ with:
+ path: '**/target/checkstyle-cachefile'
+ key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-checkstyle-
- name: Run Checkstyle
run: ./mvnw -B checkstyle:check -P checkstyle -T2C
@@ -122,33 +114,34 @@ jobs:
steps:
- uses: actions/checkout@v7
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- distribution: ${{ matrix.distribution }}
- java-version: ${{ matrix.java }}
-
- - name: Cache Maven
- uses: actions/cache@v6
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-mvn-pmd-
-
- - name: PMD Cache
- uses: actions/cache@v6
- with:
- path: '**/target/pmd/pmd.cache'
- key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-pmd-
+ - parallel:
+ - name: Set up JDK
+ uses: actions/setup-java@v6
+ with:
+ distribution: ${{ matrix.distribution }}
+ java-version: ${{ matrix.java }}
+
+ - name: Cache Maven
+ uses: actions/cache@v6
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-mvn-pmd-
+
+ - name: PMD Cache
+ uses: actions/cache@v6
+ with:
+ path: '**/target/pmd/pmd.cache'
+ key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-pmd-
- name: Run PMD
- run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C
+ run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -T2C
- name: Run CPD (Copy Paste Detector)
- run: ./mvnw -B pmd:aggregate-cpd pmd:cpd-check -P pmd -DskipTests -T2C
+ run: ./mvnw -B pmd:aggregate-cpd pmd:cpd-check -P pmd -T2C
- name: Upload report
if: ${{ !cancelled() }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 6133d1a6..fe081393 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -4,13 +4,6 @@ on:
push:
branches: [ master ]
-env:
- PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }}
-
-permissions:
- contents: write
- pull-requests: write
-
# DO NOT RESTORE CACHE for critical release steps to prevent a (extremely unlikely) scenario
# where a supply chain attack could be achieved due to poisoned cache
jobs:
@@ -20,23 +13,25 @@ jobs:
steps:
- uses: actions/checkout@v7
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- java-version: '17'
- distribution: 'temurin'
+ - parallel:
+ - name: Set up JDK
+ uses: actions/setup-java@v6
+ with:
+ java-version: '17'
+ distribution: 'temurin'
- # Try to reuse existing cache from check-build
- - name: Try restore Maven Cache
- uses: actions/cache/restore@v6
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-mvn-build-
+ # Try to reuse existing cache from check-build
+ - name: Try restore Maven Cache
+ uses: actions/cache/restore@v6
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-mvn-build-
- name: Build with Maven
- run: ./mvnw -B clean package -T2C
+ run: ../mvnw -B clean package -T2C
+ working-directory: src
- name: Check for uncommited changes
run: |
@@ -60,6 +55,8 @@ jobs:
runs-on: ubuntu-latest
needs: [check-code]
timeout-minutes: 10
+ permissions:
+ contents: write
outputs:
upload_url: ${{ steps.create-release.outputs.upload_url }}
steps:
@@ -76,10 +73,9 @@ jobs:
- name: Get version
id: version
run: |
- version=$(../mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
+ version=$(./mvnw -B help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "release=$version" >> $GITHUB_OUTPUT
echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT
- working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
- name: Commit and Push
run: |
@@ -91,7 +87,7 @@ jobs:
- name: Create Release
id: create-release
- uses: shogo82148/actions-create-release@6a396031bc74c57403da1018fec74d24c6aa03cd # v1
+ uses: shogo82148/actions-create-release@cfc5a8374495dd25fe96f758cc09251ab6286911 # v1
with:
tag_name: v${{ steps.version.outputs.release }}
release_name: v${{ steps.version.outputs.release }}
@@ -105,7 +101,7 @@ jobs:
```XML
software.xdev
- ${{ env.PRIMARY_MAVEN_MODULE }}
+ ${{ github.event.repository.name }}
${{ steps.version.outputs.release }}
```
@@ -124,41 +120,41 @@ jobs:
git pull
- name: Set up JDK
- uses: actions/setup-java@v5
+ uses: actions/setup-java@v6
with: # running setup-java overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
server-id: github-central
- server-password: PACKAGES_CENTRAL_TOKEN
- gpg-passphrase: MAVEN_GPG_PASSPHRASE
+ server-password-env-var: PACKAGES_CENTRAL_TOKEN
+ gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
- name: Publish to GitHub Packages Central
- run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
- working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
+ run: ../mvnw -B deploy -P publish -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
+ working-directory: src
env:
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Set up JDK
- uses: actions/setup-java@v5
+ uses: actions/setup-java@v6
with: # running setup-java again overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
server-id: sonatype-central-portal
- server-username: MAVEN_CENTRAL_USERNAME
- server-password: MAVEN_CENTRAL_TOKEN
- gpg-passphrase: MAVEN_GPG_PASSPHRASE
+ server-username-env-var: MAVEN_CENTRAL_USERNAME
+ server-password-env-var: MAVEN_CENTRAL_TOKEN
+ gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE
- name: Publish to Central Portal
- run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests
+ run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal
+ working-directory: src
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
- publish-pages:
+ build-pages:
runs-on: ubuntu-latest
needs: [prepare-release]
timeout-minutes: 15
@@ -172,7 +168,7 @@ jobs:
git pull
- name: Setup - Java
- uses: actions/setup-java@v5
+ uses: actions/setup-java@v6
with:
java-version: '17'
distribution: 'temurin'
@@ -187,20 +183,69 @@ jobs:
${{ runner.os }}-mvn-build-
- name: Build site
- run: ../mvnw -B compile site -DskipTests -T2C
- working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
+ run: ../mvnw -B compile site -P site -T2C
+ working-directory: src
+
+ - name: Aggregate site
+ run: |
+ # Compile is required, otherwise dep resolution failure
+ echo "Looking up modules"
+ module_dirs=($(../mvnw -B -q --also-make compile exec:exec -P site -Dexec.executable="pwd" -Dmaven.main.skip))
+ base_module_full="${module_dirs[0]}"
+
+ echo "Found modules - Src: $base_module_full"
+
+ base_cut_away_length=$((${#base_module_full}+1))
+
+ echo "BasePathLengthToCutAway: $base_cut_away_length"
- - name: Deploy to Github pages
- uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4
+ is_first=true
+ for full_module_path in "${module_dirs[@]}"
+ do
+ if [ $is_first = true ]; then
+ echo "Skipping initial/base module"
+ is_first=false
+ continue
+ fi
+
+ m=${full_module_path:$base_cut_away_length}
+
+ echo "$m/target/site/. -> ./target/site/$m"
+ mkdir -p ./target/site/$m
+ cp -r $m/target/site/. ./target/site/$m
+ done
+ working-directory: src
+
+ - name: Upload pages artifact
+ uses: actions/upload-pages-artifact@v5
with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./${{ env.PRIMARY_MAVEN_MODULE }}/target/site
- force_orphan: true
+ path: src/target/site
+
+ deploy-pages:
+ runs-on: ubuntu-latest
+ needs: [build-pages]
+ timeout-minutes: 10
+ concurrency:
+ group: 'pages'
+ cancel-in-progress: false
+ permissions:
+ pages: write
+ id-token: write
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v5
after-release:
runs-on: ubuntu-latest
needs: [publish-maven]
timeout-minutes: 10
+ permissions:
+ contents: write
+ pull-requests: write
steps:
- uses: actions/checkout@v7
diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml
index 96e5d2a7..382f6567 100644
--- a/.github/workflows/test-deploy.yml
+++ b/.github/workflows/test-deploy.yml
@@ -3,9 +3,6 @@ name: Test Deployment
on:
workflow_dispatch:
-env:
- PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }}
-
jobs:
publish-maven:
runs-on: ubuntu-latest
@@ -14,35 +11,35 @@ jobs:
- uses: actions/checkout@v7
- name: Set up JDK
- uses: actions/setup-java@v5
+ uses: actions/setup-java@v6
with: # running setup-java overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
server-id: github-central
- server-password: PACKAGES_CENTRAL_TOKEN
- gpg-passphrase: MAVEN_GPG_PASSPHRASE
+ server-password-env-var: PACKAGES_CENTRAL_TOKEN
+ gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
- name: Publish to GitHub Packages Central
- run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
- working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
+ run: ../mvnw -B deploy -P publish -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
+ working-directory: src
env:
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Set up JDK
- uses: actions/setup-java@v5
+ uses: actions/setup-java@v6
with: # running setup-java again overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
server-id: sonatype-central-portal
- server-username: MAVEN_CENTRAL_USERNAME
- server-password: MAVEN_CENTRAL_TOKEN
- gpg-passphrase: MAVEN_GPG_PASSPHRASE
+ server-username-env-var: MAVEN_CENTRAL_USERNAME
+ server-password-env-var: MAVEN_CENTRAL_TOKEN
+ gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE
- name: Publish to Central Portal
- run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests
- working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
+ run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal
+ working-directory: src
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }}
diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml
index b8b753e6..c1182dc2 100644
--- a/.idea/checkstyle-idea.xml
+++ b/.idea/checkstyle-idea.xml
@@ -11,8 +11,8 @@
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 216df058..bb58b3c2 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.16/apache-maven-3.9.16-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.10.0/apache-maven-3.10.0-bin.zip
diff --git a/.run/Run Demo.run.xml b/.run/Run Demo.run.xml
index c3b0773f..dff1ad31 100644
--- a/.run/Run Demo.run.xml
+++ b/.run/Run Demo.run.xml
@@ -2,7 +2,6 @@
-
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eb0f83b6..4825a16e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# 2.0.0
+* Removed `SpeakersWithEmails` endpoint as it's existence can no longer be validated
+* Add `categories`/`categoryItems` to model
+ * Renamed `CategorySession` to `CategoryDetail`
+* Regenerated code with latest OpenApi Generator version
+* Updated dependencies
+
# 1.3.0
* Updated to Jackson v3
* Regenerated code with latest OpenApi Generator version
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7150cab7..54d09e02 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,74 +1,56 @@
-## Contributing
+# Contributing
-We would absolutely love to get the community involved, and we welcome any form of contributions – comments and questions on different communication channels, issues and pull request and anything that you build and share using our components.
+We would absolutely love to get the community involved and we welcome any form of contributions - comments and questions, issues, pull request and anything that you build and share using our project.
-### Communication channels
+## Communication channels
* Communication is primarily done using issues.
* If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support).
* As a last resort measure or on otherwise important matter you may also [contact us directly](https://xdev.software/en/about-us/contact).
-### Ways to help
-* **Report bugs**
Create an issue or send a pull request
+## Ways to help
+* **Report bugs**
Create an issue and send a pull request
* **Send pull requests**
If you want to contribute code, check out the development instructions below.
* However when contributing larger new features, please first discuss the change you wish to make via issue with the owners of this repository before making it.
Otherwise your work might be rejected and your effort was pointless.
+ * Please also note that your pull request might not be noticed immediately when it's not attached to an issue.
We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project).
## Developing
-### Software Requirements
-You should have the following things installed:
-* Git
-* Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/))
-* Maven (Note that the [Maven Wrapper](https://maven.apache.org/tools/wrapper/) is shipped with the repo)
+Project specific development instructions can be found in [DEVELOPING.md](./DEVELOPING.md)
-### Recommended setup
-* Install `IntelliJ`
- * Recommended setup actions
- * Disable not needed plugins
- * Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html)
- * Configure the available memory
- * Import the project
- * You will get prompted to install the required plugins
- * Ensure that everything is encoded in `UTF-8`
- * Ensure that the JDK/Java-Version is correct
+## On AI use / LLM generated content
-## Releasing [](https://github.com/xdev-software/sessionize-java-client/actions/workflows/release.yml)
+_Our reason for the strict policy is due to [unqualified people using the technology](https://en.wikipedia.org/wiki/AI_slop)._
-Before releasing:
-* Consider doing a [test-deployment](https://github.com/xdev-software/sessionize-java-client/actions/workflows/test-deploy.yml?query=branch%3Adevelop) before actually releasing.
-* Check the [changelog](CHANGELOG.md)
+This policy was inspired by the AI policies of `curl`, `MESA`, `matplotlib` and `Ghostty`.
-If the ``develop`` is ready for release, create a pull request to the ``master``-Branch and merge the changes
+### Issues and security reports
-When the release is finished do the following:
-* Merge the auto-generated PR (with the incremented version number) back into the ``develop``
+If you asked an AI tool to find problems in the project, you must make sure to reveal this fact in your issue.
-### Release failures
+You must also double-check the findings carefully before reporting them to us to validate that the issue is indeed existing and working exactly as the AI says. AI-based tools frequently generate inaccurate or fabricated results.
-There are 2 modes of release failure:
-1. The remote server was e.g. down and non of the artifacts got published
-2. There was a build failure during release and only parts of the artifacts got released
+Further: It is rarely a good idea to copy and paste an AI generated report to the project. Those are typically too wordy and rarely to the point - in addition to the common fabricated details.
+If you actually find a problem with an AI and you have verified it yourself to be true: Write the issue/report yourself and explain the problem as you have learned it. This makes sure the AI-generated inaccuracies and invented issues are filtered out early before they waste more people's time.
-In case 1 we can re-release the existing version,
in case 2 we have to release a new version when we can't get the artifacts deleted (as is the case with Maven Central)
+As we take security reports seriously, we investigate each report with priority. This work is both time and energy consuming and pulls us away from doing other meaningful work. Fake and otherwise made up security problems effectively prevent us from doing real project work and make us waste time and resources.
-#### How-to: Re-Releasing an existing version
+We will ban and report users who submit made up fake reports.
-1. Delete the release on GitHub
-2. Delete the release Git tag from the repo (locally and remote!)
-3. Delete the ``master``-Branch and re-create it from the ``develop`` branch (or reset it to the state before the release-workflow commits have been done)
- * This requires __temporarily__ removing the branch protection
- * Once this was done a new release is triggered immediately!
+### Pull requests
-#### How-to: Releasing a new version
+When contributing content to the project, you give us permission to use it as-is and you must make sure you are allowed to distribute it to us. By submitting a change to us, you agree that the changes can and should be adopted and get redistributed under the project's license. Authors should be explicitly aware that the burden is on them to ensure no unlicensed code is submitted to the project.
-1. Merge the ``master`` branch back into ``develop`` (or another temporary branch)
-2. Make sure all master branch versions are prepared for a new release
e.g. if the broken release was ``1.0.0`` the version should now be at ``1.0.1-SNAPSHOT`` - the ``SNAPSHOT`` is important for the workflow!
-3. Mark the broken release as broken e.g. inside the Changelog, GitHub Release page, etc.
-You can use something like this:
- ```
- > [!WARNING]
- > This release is broken as my cat accidentally clicked the abort button during the process
- ```
-4. Merge the changes back into the ``master`` branch to trigger a new release
+This is independent if AI is used or not.
+
+When contributing a pull request you should of course always make sure that the proposal is good quality and a best effort that follows our guidelines. A basic rule of thumb is that if someone can spot that the contribution was made with the help of AI, you have more work to do.
+
+We can accept code written with the help of AI into the project, but the code must still follow coding standards, be written clearly and adhere to all the normal requirements we have.
+
+### Further notices
+
+* External AI tooling (e.g. bots, agents) directly interacting with the project - without a human - are not allowed and will be banned and reported.
+* For commit messages the same guidelines as described above for issues apply - fully generated messages are not allowed.
+* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by`/`Generated-by` instead.
diff --git a/DEVELOPING.md b/DEVELOPING.md
new file mode 100644
index 00000000..10d175e1
--- /dev/null
+++ b/DEVELOPING.md
@@ -0,0 +1,56 @@
+### Software Requirements
+You should have the following things installed:
+* Git
+* Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/))
+* Maven (Note that the [Maven Wrapper](https://maven.apache.org/tools/wrapper/) is shipped with the repo)
+
+### Recommended setup
+* Install `IntelliJ`
+ * Recommended setup actions
+ * Disable not needed plugins
+ * Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html)
+ * Configure the available memory
+ * Import the project
+ * You will get prompted to install the required plugins
+ * Ensure that everything is encoded in `UTF-8`
+ * Ensure that the JDK/Java-Version is correct
+
+
+## Releasing
+
+Before releasing:
+* Consider doing a `test-deployment` before actually releasing.
+* Check the [changelog](CHANGELOG.md)
+
+If the `develop` is ready for release, create a pull request to the `master`-Branch and merge the changes
+
+When the release is finished do the following:
+* Merge the auto-generated PR (with the incremented version number) back into the `develop`
+
+### Release failures
+
+There are 2 modes of release failure:
+1. The remote server was e.g. down and non of the artifacts got published
+2. There was a build failure during release and only parts of the artifacts got released
+
+In case 1 we can re-release the existing version,
in case 2 we have to release a new version when we can't get the artifacts deleted (as is the case with Maven Central)
+
+#### How-to: Re-Releasing an existing version
+
+1. Delete the release on GitHub
+2. Delete the release Git tag from the repo (locally and remote!)
+3. Delete the ``master``-Branch and re-create it from the ``develop`` branch (or reset it to the state before the release-workflow commits have been done)
+ * This requires __temporarily__ removing the branch protection
+ * Once this was done a new release is triggered immediately!
+
+#### How-to: Releasing a new version
+
+1. Merge the ``master`` branch back into ``develop`` (or another temporary branch)
+2. Make sure all master branch versions are prepared for a new release
e.g. if the broken release was ``1.0.0`` the version should now be at ``1.0.1-SNAPSHOT`` - the ``SNAPSHOT`` is important for the workflow!
+3. Mark the broken release as broken e.g. inside the Changelog, GitHub Release page, etc.
+You can use something like this:
+ ```
+ > [!WARNING]
+ > This release is broken as my cat accidentally clicked the abort button during the process
+ ```
+4. Merge the changes back into the ``master`` branch to trigger a new release
diff --git a/README.md b/README.md
index a310c269..09d4300d 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
#
[sessionize](https://sessionize.com/)-java-client
Java client for the [Sessionize API](https://sessionize.com/playbook/api)
-This client [is generated](./sessionize-java-client/pom.xml) from an [``openapi.yml``](./openapi/openapi.yml) using [OpenAPI Generator](https://openapi-generator.tech/).
+This client [is generated](./src/sessionize-java-client/pom.xml) from an [`openapi.yml`](./src/sessionize-java-client/openapi/openapi.yml) using [OpenAPI Generator](https://openapi-generator.tech/).
#### API Support Status
@@ -15,7 +15,6 @@ Sessionize API ``v2``:
* ``view``
* All ✔️
* Speakers ✔️
- * SpeakerEmails ✔️ (undocumented endpoint)
* Sessions ✔️
@@ -27,7 +26,7 @@ Sessionize API ``v2``:
[Installation guide for the latest release](https://github.com/xdev-software/sessionize-java-client/releases/latest#Installation)
## Demo
-A minimal demo is also available [here](./sessionize-java-client-demo/src/main/java/software/xdev/Application.java).
+A minimal demo is also available [here](./demos/sessionize-java-client-demo/src/main/java/software/xdev/Application.java).
## Support
If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support).
@@ -36,4 +35,4 @@ If you need support as soon as possible and you can't wait for any pull request,
See the [contributing guide](./CONTRIBUTING.md) for detailed instructions on how to get started with our project.
## Dependencies and Licenses
-View the [license of the current project](LICENSE) or the [summary including all dependencies](https://xdev-software.github.io/sessionize-java-client/dependencies)
+View the [license of the current project](LICENSE) or the [summary including all dependencies](https://xdev-software.github.io/sessionize-java-client)
diff --git a/demos/pom.xml b/demos/pom.xml
new file mode 100644
index 00000000..b6f24c8c
--- /dev/null
+++ b/demos/pom.xml
@@ -0,0 +1,19 @@
+
+
+ 4.0.0
+
+
+ software.xdev
+ root
+ 2.0.0-SNAPSHOT
+
+
+ demos
+ pom
+
+
+ sessionize-java-client-demo
+
+
diff --git a/sessionize-java-client-demo/pom.xml b/demos/sessionize-java-client-demo/pom.xml
similarity index 72%
rename from sessionize-java-client-demo/pom.xml
rename to demos/sessionize-java-client-demo/pom.xml
index 5b05a907..284e2556 100644
--- a/sessionize-java-client-demo/pom.xml
+++ b/demos/sessionize-java-client-demo/pom.xml
@@ -6,26 +6,14 @@
software.xdev
- sessionize-java-client-root
- 1.3.1-SNAPSHOT
+ demos
+ 2.0.0-SNAPSHOT
sessionize-java-client-demo
- 1.3.1-SNAPSHOT
jar
-
- XDEV Software
- https://xdev.software
-
-
- 17
- ${javaVersion}
-
- UTF-8
- UTF-8
-
software.xdev.Application
2.26.1
@@ -56,17 +44,6 @@
${project.artifactId}
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.15.0
-
- ${maven.compiler.release}
-
- -proc:none
-
-
-
org.apache.maven.plugins
maven-assembly-plugin
diff --git a/sessionize-java-client-demo/src/main/java/software/xdev/Application.java b/demos/sessionize-java-client-demo/src/main/java/software/xdev/Application.java
similarity index 100%
rename from sessionize-java-client-demo/src/main/java/software/xdev/Application.java
rename to demos/sessionize-java-client-demo/src/main/java/software/xdev/Application.java
diff --git a/sessionize-java-client-demo/src/main/resources/log4j2.xml b/demos/sessionize-java-client-demo/src/main/resources/log4j2.xml
similarity index 100%
rename from sessionize-java-client-demo/src/main/resources/log4j2.xml
rename to demos/sessionize-java-client-demo/src/main/resources/log4j2.xml
diff --git a/openapi/INFO.md b/openapi/INFO.md
deleted file mode 100644
index 638e89b0..00000000
--- a/openapi/INFO.md
+++ /dev/null
@@ -1,8 +0,0 @@
-This ``openapi.yml`` was written manually as Sessionize fails to provide an API schema or something similar.
-
-The Java API Client can be generated using ``mvn clean compile -P openapi-generator`` inside [``sessionize-java-client``](../sessionize-java-client/).
-
-Helpful links:
-* https://jsonformatter.org/json-to-jsonschema
-* https://swagger.io/specification/
-* https://editor.swagger.io/
diff --git a/pom.xml b/pom.xml
index 94171f77..fe141b83 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,29 +1,52 @@
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ child.project.url.inherit.append.path="false">
4.0.0
software.xdev
- sessionize-java-client-root
- 1.3.1-SNAPSHOT
+ root
+ 2.0.0-SNAPSHOT
pom
-
-
- XDEV Software
- https://xdev.software
-
+ https://github.com/xdev-software/sessionize-java-client
- sessionize-java-client
- sessionize-java-client-demo
+ src
+ demos
+ 17
+ ${javaVersion}
+
UTF-8
UTF-8
+
+ https://github.com/xdev-software/sessionize-java-client
+ scm:git:https://github.com/xdev-software/sessionize-java-client.git
+
+
+ 2023
+
+
+ XDEV Software
+ https://xdev.software
+
+
+
+
+ XDEV Software
+ XDEV Software
+ https://xdev.software
+
+
+
Apache-2.0
@@ -32,6 +55,24 @@
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.16.0
+
+ ${maven.compiler.release}
+
+ -proc:none
+
+
+
+
+
+
+
checkstyle
@@ -45,7 +86,7 @@
com.puppycrawl.tools
checkstyle
- 13.9.0
+ 14.3.0
@@ -83,12 +124,12 @@
net.sourceforge.pmd
pmd-core
- 7.26.0
+ 7.28.0
net.sourceforge.pmd
pmd-java
- 7.26.0
+ 7.28.0
diff --git a/renovate.json5 b/renovate.json5
index bdbccb1d..9d7ab1cd 100644
--- a/renovate.json5
+++ b/renovate.json5
@@ -2,10 +2,25 @@
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"rebaseWhen": "behind-base-branch",
"packageRules": [
+ {
+ "description": "Don't manage Java version in actions",
+ "matchDepTypes": [
+ "uses-with"
+ ],
+ "matchDatasources": [
+ "java-version"
+ ],
+ "enabled": false
+ },
{
"description": "Ignore project internal dependencies",
- "packagePattern": "^software.xdev:sessionize-java-client",
- "datasources": [
+ "matchPackagePatterns": [
+ "^software.xdev.*:sessionize-java-client",
+ "^software.xdev.*:demos",
+ "^software.xdev.*:src",
+ "^software.xdev.*:root"
+ ],
+ "matchDatasources": [
"maven"
],
"enabled": false
@@ -15,7 +30,7 @@
"matchPackagePatterns": [
"^net.sourceforge.pmd"
],
- "datasources": [
+ "matchDatasources": [
"maven"
],
"groupName": "net.sourceforge.pmd"
diff --git a/src/pom.xml b/src/pom.xml
new file mode 100644
index 00000000..f77061c7
--- /dev/null
+++ b/src/pom.xml
@@ -0,0 +1,276 @@
+
+
+ 4.0.0
+
+
+ software.xdev
+ root
+ 2.0.0-SNAPSHOT
+
+
+ src
+ pom
+
+
+ sessionize-java-client
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 4.0.0-M16
+
+
+ org.apache.maven.plugins
+ maven-project-info-reports-plugin
+ 3.9.0
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.12.0
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.4.0
+
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+ 3.2.0
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.2.0
+
+
+
+ org.codehaus.mojo
+ flatten-maven-plugin
+ 1.8.0
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 3.2.8
+
+
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.11.0
+
+
+
+
+
+ com.mycila
+ license-maven-plugin
+ 5.1.2
+
+
+ ${project.organization.url}
+
+
+
+ com/mycila/maven/plugin/license/templates/APACHE-2.txt
+
+ src/main/java/**
+ src/test/java/**
+
+
+
+
+
+
+ first
+
+ format
+
+ process-sources
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+ attach-javadocs
+ package
+
+ jar
+
+
+
+
+ true
+ none
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+ attach-sources
+ package
+
+ jar-no-fork
+
+
+
+
+
+
+
+
+ do-not-publish-this
+
+
+ skip-publish.marker
+
+
+
+
+
+ org.codehaus.mojo
+ flatten-maven-plugin
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+ true
+
+
+
+
+ maven-install-plugin
+
+ true
+
+
+
+ maven-deploy-plugin
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+
+ true
+
+
+
+ org.sonatype.central
+ central-publishing-maven-plugin
+
+ true
+
+
+
+
+
+
+ pmd
+
+ true
+
+
+
+ publish
+
+ true
+ true
+
+
+
+
+ org.codehaus.mojo
+ flatten-maven-plugin
+
+ ossrh
+
+
+
+ flatten
+ process-resources
+
+ flatten
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+ --pinentry-mode
+ loopback
+
+
+
+
+
+
+
+
+
+ publish-sonatype-central-portal
+
+
+
+ org.sonatype.central
+ central-publishing-maven-plugin
+ true
+
+ sonatype-central-portal
+ true
+
+
+
+
+
+
+ site
+
+ true
+ true
+
+
+
+
diff --git a/src/sessionize-java-client/openapi/INFO.md b/src/sessionize-java-client/openapi/INFO.md
new file mode 100644
index 00000000..1040d20b
--- /dev/null
+++ b/src/sessionize-java-client/openapi/INFO.md
@@ -0,0 +1,8 @@
+This `openapi.yml` was written manually as Sessionize fails to provide an API schema or something similar.
+
+The Java API Client can be generated using `mvn clean compile -P openapi-generator`.
+
+Helpful links:
+* https://jsonformatter.org/json-to-jsonschema
+* https://swagger.io/specification/
+* https://editor.swagger.io/
diff --git a/openapi/openapi.yml b/src/sessionize-java-client/openapi/openapi.yml
similarity index 91%
rename from openapi/openapi.yml
rename to src/sessionize-java-client/openapi/openapi.yml
index f63c18c6..c007b5e8 100644
--- a/openapi/openapi.yml
+++ b/src/sessionize-java-client/openapi/openapi.yml
@@ -58,35 +58,6 @@ paths:
items:
$ref: '#/components/schemas/Speaker'
deprecated: false
- /api/v2/{endpointId}/view/SpeakersEmails:
- get:
- tags:
- - "speakers"
- operationId: getAllSpeakersEmails
- description: 'Undocumented endpoint for retrieving the speakers with emails'
- parameters:
- - name: endpointId
- in: path
- required: true
- schema:
- type: string
- example: jl4ktls0
- - name: s
- in: query
- required: true
- schema:
- type: string
- description: 'Special key that is only available/retrievable for unlocked admins (Contacting Sessionize-Support is required)'
- responses:
- '200':
- description: Returned if the request is successful
- content:
- application/json:
- schema:
- type: array
- items:
- $ref: '#/components/schemas/SpeakerWithEmail'
- deprecated: false
/api/v2/{endpointId}/view/Sessions:
get:
tags:
@@ -152,7 +123,7 @@ components:
required:
- id
- sort
- CategorySession:
+ CategoryDetail:
allOf:
- $ref: '#/components/schemas/BaseCategory'
- type: object
@@ -356,7 +327,7 @@ components:
categories:
type: array
items:
- $ref: '#/components/schemas/CategorySession'
+ $ref: '#/components/schemas/CategoryDetail'
required:
- questionAnswers
- speakers
@@ -375,9 +346,14 @@ components:
type: array
items:
$ref: '#/components/schemas/QuestionAnswer' # All Endpoint
+ categoryItems:
+ type: array
+ items:
+ type: integer
required:
- questionAnswers
- speakers
+ - categoryItems
SessionMinimal:
type: object
readOnly: true
@@ -462,9 +438,14 @@ components:
type: array
items:
$ref: '#/components/schemas/QuestionAnswerFull'
+ categories:
+ type: array
+ items:
+ $ref: '#/components/schemas/CategoryDetail'
required:
- sessions
- questionAnswers
+ - categories
SpeakerAll:
allOf:
- $ref: '#/components/schemas/BaseSpeaker'
@@ -479,9 +460,14 @@ components:
type: array
items:
$ref: '#/components/schemas/QuestionAnswer'
+ categoryItems:
+ type: array
+ items:
+ type: integer
required:
- sessions
- questionAnswers
+ - categoryItems
SpeakerWithEmail:
allOf:
- $ref: '#/components/schemas/BaseSpeakerEssential'
diff --git a/sessionize-java-client/pom.xml b/src/sessionize-java-client/pom.xml
similarity index 52%
rename from sessionize-java-client/pom.xml
rename to src/sessionize-java-client/pom.xml
index a2000879..8f115aae 100644
--- a/sessionize-java-client/pom.xml
+++ b/src/sessionize-java-client/pom.xml
@@ -4,51 +4,21 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- software.xdev
+
+ software.xdev
+ src
+ 2.0.0-SNAPSHOT
+
+
sessionize-java-client
- 1.3.1-SNAPSHOT
jar
sessionize-java-client
sessionize-java-client
- https://github.com/xdev-software/sessionize-java-client
-
-
- https://github.com/xdev-software/sessionize-java-client
- scm:git:https://github.com/xdev-software/sessionize-java-client.git
-
-
- 2023
-
-
- XDEV Software
- https://xdev.software
-
-
-
-
- XDEV Software
- XDEV Software
- https://xdev.software
-
-
-
-
-
- Apache-2.0
- https://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
- 17
- ${javaVersion}
-
- UTF-8
- UTF-8
-
src/generated/java
+ ${project.basedir}/${generatedDirRelative}
@@ -56,19 +26,19 @@
org.apache.httpcomponents.client5
httpclient5
- 5.6.3
+ 5.6.5
tools.jackson.core
jackson-databind
- 3.2.1
+ 3.2.3
org.openapitools
jackson-databind-nullable
- 0.2.11
+ 0.2.12
@@ -79,98 +49,11 @@
-
-
-
- org.apache.maven.plugins
- maven-site-plugin
- 4.0.0-M16
-
-
- org.apache.maven.plugins
- maven-project-info-reports-plugin
- 3.9.0
-
-
-
-
- com.mycila
- license-maven-plugin
- 5.1.1
-
-
- ${project.organization.url}
-
-
-
- com/mycila/maven/plugin/license/templates/APACHE-2.txt
-
- src/main/java/**
- src/test/java/**
-
-
-
-
-
-
- first
-
- format
-
- process-sources
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.15.0
-
- ${maven.compiler.release}
-
- -proc:none
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.12.0
-
-
- attach-javadocs
- package
-
- jar
-
-
-
-
- true
- none
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.4.0
-
-
- attach-sources
- package
-
- jar-no-fork
-
-
-
-
-
org.codehaus.mojo
build-helper-maven-plugin
- 3.6.1
+ 3.6.2
generate-sources
@@ -188,75 +71,11 @@
-
- publish
-
-
-
- org.codehaus.mojo
- flatten-maven-plugin
- 1.8.0
-
- ossrh
-
-
-
- flatten
- process-resources
-
- flatten
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 3.2.8
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
-
-
- --pinentry-mode
- loopback
-
-
-
-
-
-
-
-
-
- publish-sonatype-central-portal
-
-
-
- org.sonatype.central
- central-publishing-maven-plugin
- 0.11.0
- true
-
- sonatype-central-portal
- true
-
-
-
-
-
openapi-generator
sessionize
- ${project.basedir}/${generatedDirRelative}
src/gen
${project.basedir}/target/generated-sources/openapi/${openApiRelativeGeneratorDir}
@@ -296,14 +115,14 @@
org.openapitools
openapi-generator-maven-plugin
- 7.24.0
+ 7.26.0
generate
- ${project.basedir}/../openapi/openapi.yml
+ ${project.basedir}/openapi/openapi.yml
java
${openApiRelativeGeneratorDir}
@@ -410,36 +229,6 @@
-
- checkstyle
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- 3.6.0
-
-
- com.puppycrawl.tools
- checkstyle
- 13.9.0
-
-
-
- ../.config/checkstyle/checkstyle.xml
- true
-
-
-
-
- check
-
-
-
-
-
-
-
pmd
@@ -449,42 +238,16 @@
maven-pmd-plugin
3.28.0
- true
- true
- true
- ../.config/pmd/java/ruleset.xml
+ ../../.config/pmd/java/ruleset.xml
-
-
- **/**
-
+
+ ${generatedDir}
+
-
-
- net.sourceforge.pmd
- pmd-core
- 7.26.0
-
-
- net.sourceforge.pmd
- pmd-java
- 7.26.0
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jxr-plugin
- 3.6.0
-
-
-
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java
similarity index 59%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java
index ed6da7fe..56783876 100644
--- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java
+++ b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java
@@ -21,7 +21,6 @@
import software.xdev.sessionize.client.Pair;
import software.xdev.sessionize.model.Speaker;
-import software.xdev.sessionize.model.SpeakerWithEmail;
import java.util.ArrayList;
@@ -116,89 +115,6 @@ public List getAllSpeakers(@jakarta.annotation.Nonnull String endpointI
);
}
- /**
- *
- * Undocumented endpoint for retrieving the speakers with emails
- * @param endpointId (required)
- * @param s Special key that is only available/retrievable for unlocked admins (Contacting Sessionize-Support is required) (required)
- * @return List<SpeakerWithEmail>
- * @throws ApiException if fails to make API call
- */
- public List getAllSpeakersEmails(@jakarta.annotation.Nonnull String endpointId, @jakarta.annotation.Nonnull String s) throws ApiException {
- return this.getAllSpeakersEmails(endpointId, s, Collections.emptyMap());
- }
-
-
- /**
- *
- * Undocumented endpoint for retrieving the speakers with emails
- * @param endpointId (required)
- * @param s Special key that is only available/retrievable for unlocked admins (Contacting Sessionize-Support is required) (required)
- * @param additionalHeaders additionalHeaders for this call
- * @return List<SpeakerWithEmail>
- * @throws ApiException if fails to make API call
- */
- public List getAllSpeakersEmails(@jakarta.annotation.Nonnull String endpointId, @jakarta.annotation.Nonnull String s, Map additionalHeaders) throws ApiException {
- Object localVarPostBody = null;
-
- // verify the required parameter 'endpointId' is set
- if (endpointId == null) {
- throw new ApiException(400, "Missing the required parameter 'endpointId' when calling getAllSpeakersEmails");
- }
-
- // verify the required parameter 's' is set
- if (s == null) {
- throw new ApiException(400, "Missing the required parameter 's' when calling getAllSpeakersEmails");
- }
-
- // create path and map variables
- String localVarPath = "/api/v2/{endpointId}/view/SpeakersEmails"
- .replaceAll("\\{" + "endpointId" + "\\}", apiClient.escapeString(apiClient.parameterToString(endpointId)));
-
- StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
- String localVarQueryParameterBaseName;
- List localVarQueryParams = new ArrayList();
- List localVarCollectionQueryParams = new ArrayList();
- Map localVarHeaderParams = new HashMap();
- Map localVarCookieParams = new HashMap();
- Map localVarFormParams = new HashMap();
-
- localVarQueryParams.addAll(apiClient.parameterToPair("s", s));
-
- localVarHeaderParams.putAll(additionalHeaders);
-
-
-
- final String[] localVarAccepts = {
- "application/json"
- };
- final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-
- final String[] localVarContentTypes = {
-
- };
- final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-
- String[] localVarAuthNames = new String[] { };
-
- TypeReference> localVarReturnType = new TypeReference>() {};
- return apiClient.invokeAPI(
- localVarPath,
- "GET",
- localVarQueryParams,
- localVarCollectionQueryParams,
- localVarQueryStringJoiner.toString(),
- localVarPostBody,
- localVarHeaderParams,
- localVarCookieParams,
- localVarFormParams,
- localVarAccept,
- localVarContentType,
- localVarAuthNames,
- localVarReturnType
- );
- }
-
@Override
public T invokeAPI(String url, String method, Object request, TypeReference returnType, Map additionalHeaders) throws ApiException {
String localVarPath = url.replace(apiClient.getBaseURL(), "");
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java
similarity index 60%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java
index 3df0e550..1ee56577 100644
--- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java
+++ b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java
@@ -12,31 +12,15 @@
package software.xdev.sessionize.client;
-import java.io.File;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Type;
-import java.net.URI;
-import java.net.URLEncoder;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.nio.charset.UnsupportedCharsetException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.nio.file.StandardCopyOption;
-import java.text.DateFormat;
+import com.fasterxml.jackson.annotation.*;
+import tools.jackson.databind.*;
+import tools.jackson.databind.cfg.DateTimeFeature;
+import tools.jackson.databind.cfg.EnumFeature;
+import tools.jackson.databind.json.JsonMapper;
import java.time.OffsetDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.core.JacksonException;
+import org.openapitools.jackson.nullable.JsonNullableJackson3Module;
import org.apache.hc.client5.http.config.Configurable;
import org.apache.hc.client5.http.config.RequestConfig;
@@ -63,30 +47,51 @@
import org.apache.hc.core5.http.io.support.ClassicRequestBuilder;
import org.apache.hc.core5.http.message.BasicNameValuePair;
import org.apache.hc.core5.util.Timeout;
-import org.openapitools.jackson.nullable.JsonNullableJackson3Module;
-import com.fasterxml.jackson.annotation.JsonInclude;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.function.Supplier;
+import java.util.TimeZone;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
-import software.xdev.sessionize.client.auth.Authentication;
-import tools.jackson.core.JacksonException;
-import tools.jackson.core.type.TypeReference;
-import tools.jackson.databind.DeserializationFeature;
-import tools.jackson.databind.ObjectMapper;
-import tools.jackson.databind.cfg.DateTimeFeature;
-import tools.jackson.databind.cfg.EnumFeature;
-import tools.jackson.databind.json.JsonMapper;
+import java.net.URLEncoder;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.nio.charset.UnsupportedCharsetException;
+import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.Paths;
+import java.lang.reflect.Type;
+import java.net.URI;
+
+import java.text.DateFormat;
+import software.xdev.sessionize.client.auth.Authentication;
public class ApiClient extends JavaTimeFormatter {
- protected Map defaultHeaderMap = new HashMap<>();
- protected Map defaultCookieMap = new HashMap<>();
+ protected Map defaultHeaderMap = new HashMap();
+ protected Map defaultCookieMap = new HashMap();
protected String basePath = "https://sessionize.com";
- protected List servers = new ArrayList<>(Arrays.asList(
- new ServerConfiguration(
- "https://sessionize.com",
- "No description provided",
- new HashMap<>()
- )
+ protected List servers = new ArrayList(Arrays.asList(
+ new ServerConfiguration(
+ "https://sessionize.com",
+ "No description provided",
+ new HashMap()
+ )
));
protected Integer serverIndex = 0;
protected Map serverVariables = null;
@@ -107,10 +112,9 @@ public class ApiClient extends JavaTimeFormatter {
// Methods that can have a request body
protected static List bodyMethods = Arrays.asList("POST", "PUT", "DELETE", "PATCH");
-
- public ApiClient(final CloseableHttpClient httpClient)
- {
- this.objectMapper = JsonMapper.builder()
+
+ public ApiClient(CloseableHttpClient httpClient) {
+ objectMapper = JsonMapper.builder()
.changeDefaultPropertyInclusion(v -> v.withValueInclusion(JsonInclude.Include.NON_NULL))
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE)
@@ -121,16 +125,16 @@ public ApiClient(final CloseableHttpClient httpClient)
.addModule(new RFC3339JavaTimeModule())
.defaultDateFormat(ApiClient.buildDefaultDateFormat())
.build();
-
- this.dateFormat = ApiClient.buildDefaultDateFormat();
+
+ dateFormat = ApiClient.buildDefaultDateFormat();
// Set default User-Agent.
- this.setUserAgent("OpenAPI-Generator/2.0/java");
+ setUserAgent("OpenAPI-Generator/2.0/java");
// Setup authentications (key: authentication name, value: authentication).
- this.authentications = new HashMap<>();
+ authentications = new HashMap();
// Prevent the authentications from being modified.
- this.authentications = Collections.unmodifiableMap(this.authentications);
+ authentications = Collections.unmodifiableMap(authentications);
this.httpClient = httpClient;
}
@@ -152,7 +156,7 @@ public static DateFormat buildDefaultDateFormat() {
* @return Object mapper
*/
public ObjectMapper getObjectMapper() {
- return this.objectMapper;
+ return objectMapper;
}
/**
@@ -161,14 +165,13 @@ public ObjectMapper getObjectMapper() {
* @param objectMapper object mapper
* @return API client
*/
- public ApiClient setObjectMapper(final ObjectMapper objectMapper)
- {
+ public ApiClient setObjectMapper(ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
return this;
}
public CloseableHttpClient getHttpClient() {
- return this.httpClient;
+ return httpClient;
}
/**
@@ -177,14 +180,13 @@ public CloseableHttpClient getHttpClient() {
* @param httpClient HTTP client
* @return API client
*/
- public ApiClient setHttpClient(final CloseableHttpClient httpClient)
- {
+ public ApiClient setHttpClient(CloseableHttpClient httpClient) {
this.httpClient = httpClient;
return this;
}
public String getBasePath() {
- return this.basePath;
+ return basePath;
}
/**
@@ -193,15 +195,14 @@ public String getBasePath() {
* @param basePath base path
* @return API client
*/
- public ApiClient setBasePath(final String basePath)
- {
+ public ApiClient setBasePath(String basePath) {
this.basePath = basePath;
this.serverIndex = null;
return this;
}
public List getServers() {
- return this.servers;
+ return servers;
}
/**
@@ -210,14 +211,13 @@ public List getServers() {
* @param servers a list of server configuration
* @return API client
*/
- public ApiClient setServers(final List servers)
- {
+ public ApiClient setServers(List servers) {
this.servers = servers;
return this;
}
public Integer getServerIndex() {
- return this.serverIndex;
+ return serverIndex;
}
/**
@@ -226,14 +226,13 @@ public Integer getServerIndex() {
* @param serverIndex server index
* @return API client
*/
- public ApiClient setServerIndex(final Integer serverIndex)
- {
+ public ApiClient setServerIndex(Integer serverIndex) {
this.serverIndex = serverIndex;
return this;
}
public Map getServerVariables() {
- return this.serverVariables;
+ return serverVariables;
}
/**
@@ -242,8 +241,7 @@ public Map getServerVariables() {
* @param serverVariables server variables
* @return API client
*/
- public ApiClient setServerVariables(final Map serverVariables)
- {
+ public ApiClient setServerVariables(Map serverVariables) {
this.serverVariables = serverVariables;
return this;
}
@@ -255,7 +253,7 @@ public ApiClient setServerVariables(final Map serverVariables)
*/
@Deprecated
public int getStatusCode() {
- return this.lastStatusCode.get();
+ return lastStatusCode.get();
}
/**
@@ -264,7 +262,7 @@ public int getStatusCode() {
*/
@Deprecated
public Map> getResponseHeaders() {
- return this.lastResponseHeaders.get();
+ return lastResponseHeaders.get();
}
/**
@@ -272,7 +270,7 @@ public Map> getResponseHeaders() {
* @return Map of authentication
*/
public Map getAuthentications() {
- return this.authentications;
+ return authentications;
}
/**
@@ -281,9 +279,8 @@ public Map getAuthentications() {
* @param authName The authentication name
* @return The authentication, null if not found
*/
- public Authentication getAuthentication(final String authName)
- {
- return this.authentications.get(authName);
+ public Authentication getAuthentication(String authName) {
+ return authentications.get(authName);
}
/**
@@ -294,7 +291,7 @@ public Authentication getAuthentication(final String authName)
* @return Temp folder path
*/
public String getTempFolderPath() {
- return this.tempFolderPath;
+ return tempFolderPath;
}
@@ -306,9 +303,8 @@ public String getTempFolderPath() {
* @param userAgent User agent
* @return API client
*/
- public final ApiClient setUserAgent(final String userAgent)
- {
- this.addDefaultHeader("User-Agent", userAgent);
+ public final ApiClient setUserAgent(String userAgent) {
+ addDefaultHeader("User-Agent", userAgent);
return this;
}
@@ -317,8 +313,7 @@ public final ApiClient setUserAgent(final String userAgent)
* @param tempFolderPath Temp folder path
* @return API client
*/
- public ApiClient setTempFolderPath(final String tempFolderPath)
- {
+ public ApiClient setTempFolderPath(String tempFolderPath) {
this.tempFolderPath = tempFolderPath;
return this;
}
@@ -330,9 +325,8 @@ public ApiClient setTempFolderPath(final String tempFolderPath)
* @param value The header's value
* @return API client
*/
- public final ApiClient addDefaultHeader(final String key, final String value)
- {
- this.defaultHeaderMap.put(key, value);
+ public final ApiClient addDefaultHeader(String key, String value) {
+ defaultHeaderMap.put(key, value);
return this;
}
@@ -343,9 +337,8 @@ public final ApiClient addDefaultHeader(final String key, final String value)
* @param value The cookie's value
* @return API client
*/
- public ApiClient addDefaultCookie(final String key, final String value)
- {
- this.defaultCookieMap.put(key, value);
+ public ApiClient addDefaultCookie(String key, String value) {
+ defaultCookieMap.put(key, value);
return this;
}
@@ -354,7 +347,7 @@ public ApiClient addDefaultCookie(final String key, final String value)
* @return True if debugging is on
*/
public boolean isDebugging() {
- return this.debugging;
+ return debugging;
}
/**
@@ -363,8 +356,7 @@ public boolean isDebugging() {
* @param debugging To enable (true) or disable (false) debugging
* @return API client
*/
- public ApiClient setDebugging(final boolean debugging)
- {
+ public ApiClient setDebugging(boolean debugging) {
// TODO: implement debugging mode
this.debugging = debugging;
return this;
@@ -375,7 +367,7 @@ public ApiClient setDebugging(final boolean debugging)
* @return Connection timeout
*/
public int getConnectTimeout() {
- return this.connectionTimeout;
+ return connectionTimeout;
}
/**
@@ -389,40 +381,36 @@ public int getConnectTimeout() {
* @return API client
* @throws IllegalArgumentException if connectionTimeout is negative
*/
- public ApiClient setConnectTimeout(final int connectionTimeout)
- {
- if(connectionTimeout < 0)
- {
+ public ApiClient setConnectTimeout(int connectionTimeout) {
+ if (connectionTimeout < 0) {
throw new IllegalArgumentException("connectionTimeout must not be negative");
}
this.connectionTimeout = connectionTimeout;
return this;
}
-
+
/**
* Read timeout (in milliseconds).
- *
* @return Read timeout
*/
- public int getReadTimeout()
- {
- return this.readTimeout;
+ public int getReadTimeout() {
+ return readTimeout;
}
-
+
/**
- * Set the read timeout (in milliseconds), i.e. the response timeout while waiting for data after the connection is
- * established. A value of 0 means the HTTP client's default response timeout is used, otherwise values must be
- * between 1 and {@link Integer#MAX_VALUE}. The timeout is applied to each request via its request configuration;
- * other request configuration defaults of the underlying HTTP client are preserved.
- *
+ * Set the read timeout (in milliseconds), i.e. the response timeout
+ * while waiting for data after the connection is established.
+ * A value of 0 means the HTTP client's default response timeout is used,
+ * otherwise values must be between 1 and {@link Integer#MAX_VALUE}.
+ * The timeout is applied to each request via its request configuration;
+ * other request configuration defaults of the underlying HTTP client
+ * are preserved.
* @param readTimeout Read timeout in milliseconds
* @return API client
* @throws IllegalArgumentException if readTimeout is negative
*/
- public ApiClient setReadTimeout(final int readTimeout)
- {
- if(readTimeout < 0)
- {
+ public ApiClient setReadTimeout(int readTimeout) {
+ if (readTimeout < 0) {
throw new IllegalArgumentException("readTimeout must not be negative");
}
this.readTimeout = readTimeout;
@@ -433,9 +421,8 @@ public ApiClient setReadTimeout(final int readTimeout)
* Get the date format used to parse/format date parameters.
* @return Date format
*/
- public DateFormat getDateFormat()
- {
- return this.dateFormat;
+ public DateFormat getDateFormat() {
+ return dateFormat;
}
/**
@@ -443,18 +430,13 @@ public DateFormat getDateFormat()
* @param dateFormat Date format
* @return API client
*/
- public ApiClient setDateFormat(final DateFormat dateFormat) {
+ public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat;
// Also set the date format for model (de)serialization with Date properties.
- if(this.objectMapper instanceof JsonMapper)
- {
- this.objectMapper =
- ((JsonMapper)this.objectMapper).rebuild().defaultDateFormat((DateFormat)dateFormat.clone()).build();
- }
- else
- {
- throw new UnsupportedOperationException(
- "setDateFormat is only supported when objectMapper is a JsonMapper instance");
+ if (this.objectMapper instanceof JsonMapper) {
+ this.objectMapper = ((JsonMapper) this.objectMapper).rebuild().defaultDateFormat((DateFormat) dateFormat.clone()).build();
+ } else {
+ throw new UnsupportedOperationException("setDateFormat is only supported when objectMapper is a JsonMapper instance");
}
return this;
}
@@ -464,13 +446,10 @@ public ApiClient setDateFormat(final DateFormat dateFormat) {
* @param str String
* @return Date
*/
- public Date parseDate(final String str)
- {
- try
- {
- return this.dateFormat.parse(str);
- }
- catch(final java.text.ParseException e) {
+ public Date parseDate(String str) {
+ try {
+ return dateFormat.parse(str);
+ } catch (java.text.ParseException e) {
throw new RuntimeException(e);
}
}
@@ -480,9 +459,8 @@ public Date parseDate(final String str)
* @param date Date
* @return Date in string format
*/
- public String formatDate(final Date date)
- {
- return this.dateFormat.format(date);
+ public String formatDate(Date date) {
+ return dateFormat.format(date);
}
/**
@@ -490,19 +468,16 @@ public String formatDate(final Date date)
* @param param Object
* @return Object in string format
*/
- public String parameterToString(final Object param) {
+ public String parameterToString(Object param) {
if (param == null) {
return "";
- } else if (param instanceof Date)
- {
- return this.formatDate((Date) param);
- } else if (param instanceof OffsetDateTime)
- {
- return this.formatOffsetDateTime((OffsetDateTime) param);
- } else if (param instanceof Collection)
- {
- final StringBuilder b = new StringBuilder();
- for(final Object o : (Collection>)param) {
+ } else if (param instanceof Date) {
+ return formatDate((Date) param);
+ } else if (param instanceof OffsetDateTime) {
+ return formatOffsetDateTime((OffsetDateTime) param);
+ } else if (param instanceof Collection) {
+ StringBuilder b = new StringBuilder();
+ for(Object o : (Collection>)param) {
if(b.length() > 0) {
b.append(',');
}
@@ -523,16 +498,15 @@ public String parameterToString(final Object param) {
* @param value The value of the parameter.
* @return A list containing a single {@code Pair} object.
*/
- public List parameterToPair(final String name, final Object value)
- {
- final List params = new ArrayList<>();
+ public List parameterToPair(String name, Object value) {
+ List params = new ArrayList();
// preconditions
if (name == null || name.isEmpty() || value == null || value instanceof Collection) {
return params;
}
-
- params.add(new Pair(name, this.escapeString(this.parameterToString(value))));
+
+ params.add(new Pair(name, escapeString(parameterToString(value))));
return params;
}
@@ -546,9 +520,8 @@ public List parameterToPair(final String name, final Object value)
* @param value The value of the parameter.
* @return A list of {@code Pair} objects.
*/
- public List parameterToPairs(final String collectionFormat, final String name, final Collection> value)
- {
- final List params = new ArrayList<>();
+ public List parameterToPairs(String collectionFormat, String name, Collection> value) {
+ List params = new ArrayList();
// preconditions
if (name == null || name.isEmpty() || value == null || value.isEmpty()) {
@@ -556,11 +529,9 @@ public List parameterToPairs(final String collectionFormat, final String n
}
// create the params based on the collection format
- if ("multi".equals(collectionFormat))
- {
- for(final Object item : value)
- {
- params.add(new Pair(name, this.escapeString(this.parameterToString(item))));
+ if ("multi".equals(collectionFormat)) {
+ for (Object item : value) {
+ params.add(new Pair(name, escapeString(parameterToString(item))));
}
return params;
}
@@ -570,21 +541,18 @@ public List parameterToPairs(final String collectionFormat, final String n
// escape all delimiters except commas, which are URI reserved
// characters
- if ("ssv".equals(collectionFormat))
- {
- delimiter = this.escapeString(" ");
- } else if ("tsv".equals(collectionFormat))
- {
- delimiter = this.escapeString("\t");
- } else if ("pipes".equals(collectionFormat))
- {
- delimiter = this.escapeString("|");
+ if ("ssv".equals(collectionFormat)) {
+ delimiter = escapeString(" ");
+ } else if ("tsv".equals(collectionFormat)) {
+ delimiter = escapeString("\t");
+ } else if ("pipes".equals(collectionFormat)) {
+ delimiter = escapeString("|");
}
-
- final StringBuilder sb = new StringBuilder();
- for(final Object item : value) {
+
+ StringBuilder sb = new StringBuilder() ;
+ for (Object item : value) {
sb.append(delimiter);
- sb.append(this.escapeString(this.parameterToString(item)));
+ sb.append(escapeString(parameterToString(item)));
}
params.add(new Pair(name, sb.substring(delimiter.length())));
@@ -602,9 +570,8 @@ public List parameterToPairs(final String collectionFormat, final String n
* @param mime MIME
* @return True if MIME type is boolean
*/
- public boolean isJsonMime(final String mime)
- {
- final String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ public boolean isJsonMime(String mime) {
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
return mime != null && (mime.matches(jsonMime) || mime.equals("*/*"));
}
@@ -617,13 +584,12 @@ public boolean isJsonMime(final String mime)
* @return The Accept header to use. If the given array is empty,
* null will be returned (not to set the Accept header explicitly).
*/
- public String selectHeaderAccept(final String[] accepts) {
+ public String selectHeaderAccept(String[] accepts) {
if (accepts.length == 0) {
return null;
}
- for(final String accept : accepts)
- {
- if(this.isJsonMime(accept)) {
+ for (String accept : accepts) {
+ if (isJsonMime(accept)) {
return accept;
}
}
@@ -639,13 +605,12 @@ public String selectHeaderAccept(final String[] accepts) {
* @return The Content-Type header to use. If the given array is empty,
* or matches "any", JSON will be used.
*/
- public String selectHeaderContentType(final String[] contentTypes) {
+ public String selectHeaderContentType(String[] contentTypes) {
if (contentTypes.length == 0 || contentTypes[0].equals("*/*")) {
return "application/json";
}
- for(final String contentType : contentTypes)
- {
- if(this.isJsonMime(contentType)) {
+ for (String contentType : contentTypes) {
+ if (isJsonMime(contentType)) {
return contentType;
}
}
@@ -657,11 +622,10 @@ public String selectHeaderContentType(final String[] contentTypes) {
* @param str String
* @return Escaped string
*/
- public String escapeString(final String str) {
+ public String escapeString(String str) {
try {
return URLEncoder.encode(str, "utf8").replaceAll("\\+", "%20");
- }
- catch(final UnsupportedEncodingException e) {
+ } catch (UnsupportedEncodingException e) {
return str;
}
}
@@ -672,10 +636,9 @@ public String escapeString(final String str) {
* @param headers HTTP headers
* @return a map of string array
*/
- protected Map> transformResponseHeaders(final Header[] headers)
- {
- final Map> headersMap = new HashMap<>();
- for(final Header header : headers) {
+ protected Map> transformResponseHeaders(Header[] headers) {
+ Map> headersMap = new HashMap<>();
+ for (Header header : headers) {
List valuesList = headersMap.get(header.getName());
if (valuesList != null) {
valuesList.add(header.getValue());
@@ -691,11 +654,10 @@ protected Map> transformResponseHeaders(final Header[] head
/**
* Parse content type object from header value
*/
- protected ContentType getContentType(final String headerValue) throws ApiException {
+ protected ContentType getContentType(String headerValue) throws ApiException {
try {
return ContentType.parse(headerValue);
- }
- catch(final UnsupportedCharsetException e) {
+ } catch (UnsupportedCharsetException e) {
throw new ApiException("Could not parse content type " + headerValue);
}
}
@@ -703,12 +665,10 @@ protected ContentType getContentType(final String headerValue) throws ApiExcepti
/**
* Get content type of a response or null if one was not provided
*/
- protected String getResponseMimeType(final HttpResponse response) throws ApiException
- {
- final Header contentTypeHeader = response.getFirstHeader("Content-Type");
- if (contentTypeHeader != null)
- {
- return this.getContentType(contentTypeHeader.getValue()).getMimeType();
+ protected String getResponseMimeType(HttpResponse response) throws ApiException {
+ Header contentTypeHeader = response.getFirstHeader("Content-Type");
+ if (contentTypeHeader != null) {
+ return getContentType(contentTypeHeader.getValue()).getMimeType();
}
return null;
}
@@ -722,55 +682,38 @@ protected String getResponseMimeType(final HttpResponse response) throws ApiExce
* @return Object
* @throws ApiException API exception
*/
- public HttpEntity serialize(final Object obj, final Map formParams, final ContentType contentType)
- throws ApiException
- {
- final String mimeType = contentType.getMimeType();
- if(this.isJsonMime(mimeType))
- {
- try
- {
- return new StringEntity(
- this.objectMapper.writeValueAsString(obj),
- contentType.withCharset(StandardCharsets.UTF_8));
- }
- catch(final JacksonException e) {
+ public HttpEntity serialize(Object obj, Map formParams, ContentType contentType) throws ApiException {
+ String mimeType = contentType.getMimeType();
+ if (isJsonMime(mimeType)) {
+ try {
+ return new StringEntity(objectMapper.writeValueAsString(obj), contentType.withCharset(StandardCharsets.UTF_8));
+ } catch (JacksonException e) {
throw new ApiException(e);
}
- } else if (mimeType.equals(ContentType.MULTIPART_FORM_DATA.getMimeType()))
- {
- final MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
- for(final Entry paramEntry : formParams.entrySet())
- {
- final Object value = paramEntry.getValue();
+ } else if (mimeType.equals(ContentType.MULTIPART_FORM_DATA.getMimeType())) {
+ MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
+ for (Entry paramEntry : formParams.entrySet()) {
+ Object value = paramEntry.getValue();
if (value instanceof File) {
multiPartBuilder.addBinaryBody(paramEntry.getKey(), (File) value);
} else if (value instanceof byte[]) {
multiPartBuilder.addBinaryBody(paramEntry.getKey(), (byte[]) value);
- }
- else
- {
- final Charset charset = contentType.getCharset();
- if(charset != null)
- {
- final ContentType customContentType = ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), charset);
- multiPartBuilder.addTextBody(
- paramEntry.getKey(), this.parameterToString(paramEntry.getValue()),
+ } else {
+ Charset charset = contentType.getCharset();
+ if (charset != null) {
+ ContentType customContentType = ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), charset);
+ multiPartBuilder.addTextBody(paramEntry.getKey(), parameterToString(paramEntry.getValue()),
customContentType);
- }
- else
- {
- multiPartBuilder.addTextBody(paramEntry.getKey(), this.parameterToString(paramEntry.getValue()));
+ } else {
+ multiPartBuilder.addTextBody(paramEntry.getKey(), parameterToString(paramEntry.getValue()));
}
}
}
return multiPartBuilder.build();
- } else if (mimeType.equals(ContentType.APPLICATION_FORM_URLENCODED.getMimeType()))
- {
- final List formValues = new ArrayList<>();
- for(final Entry paramEntry : formParams.entrySet())
- {
- formValues.add(new BasicNameValuePair(paramEntry.getKey(), this.parameterToString(paramEntry.getValue())));
+ } else if (mimeType.equals(ContentType.APPLICATION_FORM_URLENCODED.getMimeType())) {
+ List formValues = new ArrayList<>();
+ for (Entry paramEntry : formParams.entrySet()) {
+ formValues.add(new BasicNameValuePair(paramEntry.getKey(), parameterToString(paramEntry.getValue())));
}
return new UrlEncodedFormEntity(formValues, contentType.getCharset());
} else {
@@ -795,37 +738,33 @@ public HttpEntity serialize(final Object obj, final Map formPara
* @throws IOException IO exception
*/
@SuppressWarnings("unchecked")
- public T deserialize(final CloseableHttpResponse response, final TypeReference valueType)
- throws ApiException, IOException, ParseException {
+ public T deserialize(CloseableHttpResponse response, TypeReference valueType) throws ApiException, IOException, ParseException {
if (valueType == null) {
return null;
}
- final HttpEntity entity = response.getEntity();
- final Type valueRawType = valueType.getType();
+ HttpEntity entity = response.getEntity();
+ Type valueRawType = valueType.getType();
if (valueRawType.equals(byte[].class)) {
return (T) EntityUtils.toByteArray(entity);
- } else if (valueRawType.equals(File.class))
- {
- return (T)this.downloadFileFromResponse(response);
+ } else if (valueRawType.equals(File.class)) {
+ return (T) downloadFileFromResponse(response);
}
- final String mimeType = this.getResponseMimeType(response);
- if(mimeType == null || this.isJsonMime(mimeType)) {
+ String mimeType = getResponseMimeType(response);
+ if (mimeType == null || isJsonMime(mimeType)) {
// Assume json if no mime type
// convert input stream to string
- final String content = EntityUtils.toString(entity);
+ String content = EntityUtils.toString(entity);
if ("".equals(content)) { // returns null for empty body
return null;
}
-
- return this.objectMapper.readValue(content, valueType);
+
+ return objectMapper.readValue(content, valueType);
} else if (mimeType.toLowerCase().startsWith("text/")) {
// convert input stream to string
return (T) EntityUtils.toString(entity);
- }
- else
- {
- final Map> responseHeaders = this.transformResponseHeaders(response.getHeaders());
+ } else {
+ Map> responseHeaders = transformResponseHeaders(response.getHeaders());
throw new ApiException(
"Deserialization for content type '" + mimeType + "' not supported for type '" + valueType + "'",
response.getCode(),
@@ -834,22 +773,21 @@ public T deserialize(final CloseableHttpResponse response, final TypeReferen
);
}
}
-
- protected File downloadFileFromResponse(final CloseableHttpResponse response) throws IOException
- {
- final Header contentDispositionHeader = response.getFirstHeader("Content-Disposition");
- final String contentDisposition = contentDispositionHeader == null ? null : contentDispositionHeader.getValue();
- final File file = this.prepareDownloadFile(contentDisposition);
+
+ protected File downloadFileFromResponse(CloseableHttpResponse response) throws IOException {
+ Header contentDispositionHeader = response.getFirstHeader("Content-Disposition");
+ String contentDisposition = contentDispositionHeader == null ? null : contentDispositionHeader.getValue();
+ File file = prepareDownloadFile(contentDisposition);
Files.copy(response.getEntity().getContent(), file.toPath(), StandardCopyOption.REPLACE_EXISTING);
return file;
}
-
- protected File prepareDownloadFile(final String contentDisposition) throws IOException {
+
+ protected File prepareDownloadFile(String contentDisposition) throws IOException {
String filename = null;
if (contentDisposition != null && !"".equals(contentDisposition)) {
// Get filename from the Content-Disposition header.
- final Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?");
- final Matcher matcher = pattern.matcher(contentDisposition);
+ Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?");
+ Matcher matcher = pattern.matcher(contentDisposition);
if (matcher.find())
filename = matcher.group(1);
}
@@ -859,10 +797,8 @@ protected File prepareDownloadFile(final String contentDisposition) throws IOExc
if (filename == null) {
prefix = "download-";
suffix = "";
- }
- else
- {
- final int pos = filename.lastIndexOf('.');
+ } else {
+ int pos = filename.lastIndexOf('.');
if (pos == -1) {
prefix = filename + "-";
} else {
@@ -873,13 +809,11 @@ protected File prepareDownloadFile(final String contentDisposition) throws IOExc
if (prefix.length() < 3)
prefix = "download-";
}
-
- if(this.tempFolderPath == null)
+
+ if (tempFolderPath == null)
return Files.createTempFile(prefix, suffix).toFile();
else
- {
- return Files.createTempFile(Paths.get(this.tempFolderPath), prefix, suffix).toFile();
- }
+ return Files.createTempFile(Paths.get(tempFolderPath), prefix, suffix).toFile();
}
/**
@@ -887,22 +821,18 @@ protected File prepareDownloadFile(final String contentDisposition) throws IOExc
*
* @return The URL for the client.
*/
- public String getBaseURL()
- {
- final String baseURL;
- if(this.serverIndex != null)
- {
- if(this.serverIndex < 0 || this.serverIndex >= this.servers.size()) {
+ public String getBaseURL() {
+ String baseURL;
+ if (serverIndex != null) {
+ if (serverIndex < 0 || serverIndex >= servers.size()) {
throw new ArrayIndexOutOfBoundsException(String.format(
java.util.Locale.ROOT,
- "Invalid index %d when selecting the host settings. Must be less than %d", this.serverIndex, this.servers.size()
+ "Invalid index %d when selecting the host settings. Must be less than %d", serverIndex, servers.size()
));
}
- baseURL = this.servers.get(this.serverIndex).URL(this.serverVariables);
- }
- else
- {
- baseURL = this.basePath;
+ baseURL = servers.get(serverIndex).URL(serverVariables);
+ } else {
+ baseURL = basePath;
}
return baseURL;
}
@@ -916,13 +846,8 @@ public String getBaseURL()
* @param urlQueryDeepObject URL query string of the deep object parameters
* @return The full URL
*/
- protected String buildUrl(
- final String path,
- final List queryParams,
- final List collectionQueryParams,
- final String urlQueryDeepObject)
- {
- final String baseURL = this.getBaseURL();
+ protected String buildUrl(String path, List queryParams, List collectionQueryParams, String urlQueryDeepObject) {
+ String baseURL = getBaseURL();
final StringBuilder url = new StringBuilder();
url.append(baseURL).append(path);
@@ -930,7 +855,7 @@ protected String buildUrl(
if (queryParams != null && !queryParams.isEmpty()) {
// support (constant) query string in `path`, e.g. "/posts?draft=1"
String prefix = path.contains("?") ? "&" : "?";
- for(final Pair param : queryParams) {
+ for (Pair param : queryParams) {
if (param.getValue() != null) {
if (prefix != null) {
url.append(prefix);
@@ -938,16 +863,16 @@ protected String buildUrl(
} else {
url.append("&");
}
- final String value = this.parameterToString(param.getValue());
+ String value = parameterToString(param.getValue());
// query parameter value already escaped as part of parameterToPair
- url.append(this.escapeString(param.getName())).append("=").append(value);
+ url.append(escapeString(param.getName())).append("=").append(value);
}
}
}
if (collectionQueryParams != null && !collectionQueryParams.isEmpty()) {
String prefix = url.toString().contains("?") ? "&" : "?";
- for(final Pair param : collectionQueryParams) {
+ for (Pair param : collectionQueryParams) {
if (param.getValue() != null) {
if (prefix != null) {
url.append(prefix);
@@ -955,9 +880,9 @@ protected String buildUrl(
} else {
url.append("&");
}
- final String value = this.parameterToString(param.getValue());
+ String value = parameterToString(param.getValue());
// collection query parameter value already escaped as part of parameterToPairs
- url.append(this.escapeString(param.getName())).append("=").append(value);
+ url.append(escapeString(param.getName())).append("=").append(value);
}
}
}
@@ -969,41 +894,36 @@ protected String buildUrl(
return url.toString();
}
-
- protected boolean isSuccessfulStatus(final int statusCode) {
+
+ protected boolean isSuccessfulStatus(int statusCode) {
return statusCode >= 200 && statusCode < 300;
}
-
- protected boolean isBodyAllowed(final String method) {
+
+ protected boolean isBodyAllowed(String method) {
return bodyMethods.contains(method);
}
-
- protected Cookie buildCookie(final String key, final String value, final URI uri)
- {
- final BasicClientCookie cookie = new BasicClientCookie(key, value);
+
+ protected Cookie buildCookie(String key, String value, URI uri) {
+ BasicClientCookie cookie = new BasicClientCookie(key, value);
cookie.setDomain(uri.getHost());
cookie.setPath("/");
return cookie;
}
-
- protected T processResponse(final CloseableHttpResponse response, final TypeReference returnType)
- throws ApiException, IOException, ParseException
- {
- final int statusCode = response.getCode();
- this.lastStatusCode.set(statusCode);
+
+ protected T processResponse(CloseableHttpResponse response, TypeReference returnType) throws ApiException, IOException, ParseException {
+ int statusCode = response.getCode();
+ lastStatusCode.set(statusCode);
if (statusCode == HttpStatus.SC_NO_CONTENT) {
return null;
}
-
- final Map> responseHeaders = this.transformResponseHeaders(response.getHeaders());
- this.lastResponseHeaders.set(responseHeaders);
-
- if(this.isSuccessfulStatus(statusCode)) {
+
+ Map> responseHeaders = transformResponseHeaders(response.getHeaders());
+ lastResponseHeaders.set(responseHeaders);
+
+ if (isSuccessfulStatus(statusCode)) {
return this.deserialize(response, returnType);
- }
- else
- {
- final String message = EntityUtils.toString(response.getEntity());
+ } else {
+ String message = EntityUtils.toString(response.getEntity());
throw new ApiException(message, statusCode, responseHeaders, message);
}
}
@@ -1029,81 +949,73 @@ protected T processResponse(final CloseableHttpResponse response, final Type
* @throws ApiException API exception
*/
public T invokeAPI(
- final String path,
- final String method,
- final List queryParams,
- final List collectionQueryParams,
- final String urlQueryDeepObject,
- final Object body,
- final Map headerParams,
- final Map cookieParams,
- final Map formParams,
- final String accept,
- final String contentType,
- final String[] authNames,
- final TypeReference returnType) throws ApiException {
+ String path,
+ String method,
+ List queryParams,
+ List collectionQueryParams,
+ String urlQueryDeepObject,
+ Object body,
+ Map headerParams,
+ Map cookieParams,
+ Map formParams,
+ String accept,
+ String contentType,
+ String[] authNames,
+ TypeReference returnType) throws ApiException {
if (body != null && !formParams.isEmpty()) {
throw new ApiException("Cannot have body and form params");
}
-
- this.updateParamsForAuth(authNames, queryParams, headerParams, cookieParams);
- final String url = this.buildUrl(path, queryParams, collectionQueryParams, urlQueryDeepObject);
-
- final ClassicRequestBuilder builder = ClassicRequestBuilder.create(method);
+
+ updateParamsForAuth(authNames, queryParams, headerParams, cookieParams);
+ final String url = buildUrl(path, queryParams, collectionQueryParams, urlQueryDeepObject);
+
+ ClassicRequestBuilder builder = ClassicRequestBuilder.create(method);
builder.setUri(url);
if (accept != null) {
builder.addHeader("Accept", accept);
}
- for(final Entry keyValue : headerParams.entrySet()) {
+ for (Entry keyValue : headerParams.entrySet()) {
builder.addHeader(keyValue.getKey(), keyValue.getValue());
- }
- for(final Map.Entry keyValue : this.defaultHeaderMap.entrySet()) {
+ }
+ for (Map.Entry keyValue : defaultHeaderMap.entrySet()) {
if (!headerParams.containsKey(keyValue.getKey())) {
builder.addHeader(keyValue.getKey(), keyValue.getValue());
}
- }
-
- final BasicCookieStore store = new BasicCookieStore();
- for(final Entry keyValue : cookieParams.entrySet())
- {
- store.addCookie(this.buildCookie(keyValue.getKey(), keyValue.getValue(), builder.getUri()));
- }
- for(final Entry keyValue : this.defaultCookieMap.entrySet()) {
- if (!cookieParams.containsKey(keyValue.getKey()))
- {
- store.addCookie(this.buildCookie(keyValue.getKey(), keyValue.getValue(), builder.getUri()));
+ }
+
+ BasicCookieStore store = new BasicCookieStore();
+ for (Entry keyValue : cookieParams.entrySet()) {
+ store.addCookie(buildCookie(keyValue.getKey(), keyValue.getValue(), builder.getUri()));
+ }
+ for (Entry keyValue : defaultCookieMap.entrySet()) {
+ if (!cookieParams.containsKey(keyValue.getKey())) {
+ store.addCookie(buildCookie(keyValue.getKey(), keyValue.getValue(), builder.getUri()));
}
- }
-
- final HttpClientContext context = HttpClientContext.create();
+ }
+
+ HttpClientContext context = HttpClientContext.create();
context.setCookieStore(store);
-
- if(this.connectionTimeout > 0 || this.readTimeout > 0)
- {
- // start from the default request configuration of the underlying HTTP client, if
- // accessible, so that only the configured timeouts are overridden
- final RequestConfig defaultConfig =
- this.httpClient instanceof Configurable ? ((Configurable)this.httpClient).getConfig() : null;
- final RequestConfig.Builder requestConfigBuilder =
- defaultConfig == null ? RequestConfig.custom() : RequestConfig.copy(defaultConfig);
- if(this.connectionTimeout > 0)
- {
- requestConfigBuilder.setConnectTimeout(Timeout.ofMilliseconds(this.connectionTimeout));
- }
- if(this.readTimeout > 0)
- {
- requestConfigBuilder.setResponseTimeout(Timeout.ofMilliseconds(this.readTimeout));
- }
- context.setRequestConfig(requestConfigBuilder.build());
- }
-
- final ContentType contentTypeObj = this.getContentType(contentType);
- if (body != null || !formParams.isEmpty())
- {
- if(this.isBodyAllowed(method)) {
+
+ if (connectionTimeout > 0 || readTimeout > 0) {
+ // start from the default request configuration of the underlying HTTP client, if
+ // accessible, so that only the configured timeouts are overridden
+ RequestConfig defaultConfig = httpClient instanceof Configurable ? ((Configurable) httpClient).getConfig() : null;
+ RequestConfig.Builder requestConfigBuilder = defaultConfig == null ? RequestConfig.custom() : RequestConfig.copy(defaultConfig);
+ if (connectionTimeout > 0) {
+ requestConfigBuilder.setConnectTimeout(Timeout.ofMilliseconds(connectionTimeout));
+ }
+ if (readTimeout > 0) {
+ requestConfigBuilder.setResponseTimeout(Timeout.ofMilliseconds(readTimeout));
+ }
+ context.setRequestConfig(requestConfigBuilder.build());
+ }
+
+ ContentType contentTypeObj = getContentType(contentType);
+ if (body != null || !formParams.isEmpty()) {
+ if (isBodyAllowed(method)) {
// Add entity if we have content and a valid method
- builder.setEntity(this.serialize(body, formParams, contentTypeObj));
+ builder.setEntity(serialize(body, formParams, contentTypeObj));
} else {
throw new ApiException("method " + method + " does not support a request body");
}
@@ -1111,12 +1023,10 @@ public T invokeAPI(
// for empty body
builder.setEntity(new StringEntity("", contentTypeObj));
}
-
- try(final CloseableHttpResponse response = this.httpClient.execute(builder.build(), context))
- {
- return this.processResponse(response, returnType);
- }
- catch(final IOException | ParseException e) {
+
+ try (CloseableHttpResponse response = httpClient.execute(builder.build(), context)) {
+ return processResponse(response, returnType);
+ } catch (IOException | ParseException e) {
throw new ApiException(e);
}
}
@@ -1129,15 +1039,9 @@ public T invokeAPI(
* @param headerParams Header parameters
* @param cookieParams Cookie parameters
*/
- protected void updateParamsForAuth(
- final String[] authNames,
- final List queryParams,
- final Map headerParams,
- final Map cookieParams)
- {
- for(final String authName : authNames)
- {
- final Authentication auth = this.authentications.get(authName);
+ protected void updateParamsForAuth(String[] authNames, List queryParams, Map headerParams, Map cookieParams) {
+ for (String authName : authNames) {
+ Authentication auth = authentications.get(authName);
if (auth == null) throw new RuntimeException("Authentication undefined: " + authName);
auth.applyToParams(queryParams, headerParams, cookieParams);
}
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiException.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiException.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiException.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiException.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/BaseApi.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/BaseApi.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/BaseApi.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/BaseApi.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339DateFormat.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339DateFormat.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339DateFormat.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339DateFormat.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerConfiguration.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerConfiguration.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerConfiguration.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerConfiguration.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerVariable.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerVariable.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerVariable.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ServerVariable.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/StringUtil.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/StringUtil.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/StringUtil.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/StringUtil.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/ApiKeyAuth.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/ApiKeyAuth.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/ApiKeyAuth.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/ApiKeyAuth.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBasicAuth.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBasicAuth.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBasicAuth.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBasicAuth.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategorySession.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryDetail.java
similarity index 87%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategorySession.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryDetail.java
index 998caba7..f7169082 100644
--- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategorySession.java
+++ b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryDetail.java
@@ -30,15 +30,15 @@
import java.util.StringJoiner;
/**
- * CategorySession
+ * CategoryDetail
*/
@JsonPropertyOrder({
- CategorySession.JSON_PROPERTY_ID,
- CategorySession.JSON_PROPERTY_SORT,
- CategorySession.JSON_PROPERTY_NAME,
- CategorySession.JSON_PROPERTY_CATEGORY_ITEMS
+ CategoryDetail.JSON_PROPERTY_ID,
+ CategoryDetail.JSON_PROPERTY_SORT,
+ CategoryDetail.JSON_PROPERTY_NAME,
+ CategoryDetail.JSON_PROPERTY_CATEGORY_ITEMS
})
-public class CategorySession {
+public class CategoryDetail {
public static final String JSON_PROPERTY_ID = "id";
@jakarta.annotation.Nonnull
private Integer id;
@@ -55,10 +55,10 @@ public class CategorySession {
@jakarta.annotation.Nonnull
private List categoryItems = new ArrayList<>();
- public CategorySession() {
+ public CategoryDetail() {
}
- public CategorySession id(@jakarta.annotation.Nonnull Integer id) {
+ public CategoryDetail id(@jakarta.annotation.Nonnull Integer id) {
this.id = id;
return this;
@@ -83,7 +83,7 @@ public void setId(@jakarta.annotation.Nonnull Integer id) {
this.id = id;
}
- public CategorySession sort(@jakarta.annotation.Nonnull Integer sort) {
+ public CategoryDetail sort(@jakarta.annotation.Nonnull Integer sort) {
this.sort = sort;
return this;
@@ -108,7 +108,7 @@ public void setSort(@jakarta.annotation.Nonnull Integer sort) {
this.sort = sort;
}
- public CategorySession name(@jakarta.annotation.Nonnull String name) {
+ public CategoryDetail name(@jakarta.annotation.Nonnull String name) {
this.name = name;
return this;
@@ -133,13 +133,13 @@ public void setName(@jakarta.annotation.Nonnull String name) {
this.name = name;
}
- public CategorySession categoryItems(@jakarta.annotation.Nonnull List categoryItems) {
+ public CategoryDetail categoryItems(@jakarta.annotation.Nonnull List categoryItems) {
this.categoryItems = categoryItems;
return this;
}
- public CategorySession addCategoryItemsItem(CategoryItem categoryItemsItem) {
+ public CategoryDetail addCategoryItemsItem(CategoryItem categoryItemsItem) {
if (this.categoryItems == null) {
this.categoryItems = new ArrayList<>();
}
@@ -175,11 +175,11 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
- CategorySession categorySession = (CategorySession) o;
- return Objects.equals(this.id, categorySession.id) &&
- Objects.equals(this.sort, categorySession.sort) &&
- Objects.equals(this.name, categorySession.name) &&
- Objects.equals(this.categoryItems, categorySession.categoryItems);
+ CategoryDetail categoryDetail = (CategoryDetail) o;
+ return Objects.equals(this.id, categoryDetail.id) &&
+ Objects.equals(this.sort, categoryDetail.sort) &&
+ Objects.equals(this.name, categoryDetail.name) &&
+ Objects.equals(this.categoryItems, categoryDetail.categoryItems);
}
@Override
@@ -190,7 +190,7 @@ public int hashCode() {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("class CategorySession {\n");
+ sb.append("class CategoryDetail {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" sort: ").append(toIndentedString(sort)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java
similarity index 98%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java
index 4448ac01..1d2a407a 100644
--- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java
+++ b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java
@@ -25,7 +25,7 @@
import java.util.Arrays;
import java.util.List;
import org.openapitools.jackson.nullable.JsonNullable;
-import software.xdev.sessionize.model.CategorySession;
+import software.xdev.sessionize.model.CategoryDetail;
import software.xdev.sessionize.model.QuestionAnswerFull;
import software.xdev.sessionize.model.SpeakerMinimal;
import software.xdev.sessionize.model.Status;
@@ -122,7 +122,7 @@ public class Session {
public static final String JSON_PROPERTY_CATEGORIES = "categories";
@jakarta.annotation.Nonnull
- private List categories = new ArrayList<>();
+ private List categories = new ArrayList<>();
public Session() {
}
@@ -558,13 +558,13 @@ public void setQuestionAnswers(@jakarta.annotation.Nonnull List categories) {
+ public Session categories(@jakarta.annotation.Nonnull List categories) {
this.categories = categories;
return this;
}
- public Session addCategoriesItem(CategorySession categoriesItem) {
+ public Session addCategoriesItem(CategoryDetail categoriesItem) {
if (this.categories == null) {
this.categories = new ArrayList<>();
}
@@ -580,14 +580,14 @@ public Session addCategoriesItem(CategorySession categoriesItem) {
@JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
- public List getCategories() {
+ public List getCategories() {
return categories;
}
@JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
- public void setCategories(@jakarta.annotation.Nonnull List categories) {
+ public void setCategories(@jakarta.annotation.Nonnull List categories) {
this.categories = categories;
}
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java
similarity index 91%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java
index fb4abe40..ba998a20 100644
--- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java
+++ b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java
@@ -25,6 +25,7 @@
import java.util.List;
import java.util.UUID;
import org.openapitools.jackson.nullable.JsonNullable;
+import software.xdev.sessionize.model.CategoryDetail;
import software.xdev.sessionize.model.Link;
import software.xdev.sessionize.model.QuestionAnswerFull;
import software.xdev.sessionize.model.SessionMinimal;
@@ -51,7 +52,8 @@
Speaker.JSON_PROPERTY_LINKS,
Speaker.JSON_PROPERTY_FULL_NAME,
Speaker.JSON_PROPERTY_SESSIONS,
- Speaker.JSON_PROPERTY_QUESTION_ANSWERS
+ Speaker.JSON_PROPERTY_QUESTION_ANSWERS,
+ Speaker.JSON_PROPERTY_CATEGORIES
})
public class Speaker {
public static final String JSON_PROPERTY_ID = "id";
@@ -98,6 +100,10 @@ public class Speaker {
@jakarta.annotation.Nonnull
private List questionAnswers = new ArrayList<>();
+ public static final String JSON_PROPERTY_CATEGORIES = "categories";
+ @jakarta.annotation.Nonnull
+ private List categories = new ArrayList<>();
+
public Speaker() {
}
@@ -416,6 +422,39 @@ public void setQuestionAnswers(@jakarta.annotation.Nonnull List categories) {
+
+ this.categories = categories;
+ return this;
+ }
+
+ public Speaker addCategoriesItem(CategoryDetail categoriesItem) {
+ if (this.categories == null) {
+ this.categories = new ArrayList<>();
+ }
+ this.categories.add(categoriesItem);
+ return this;
+ }
+
+ /**
+ * Get categories
+ * @return categories
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public List getCategories() {
+ return categories;
+ }
+
+
+ @JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCategories(@jakarta.annotation.Nonnull List categories) {
+ this.categories = categories;
+ }
+
@Override
public boolean equals(Object o) {
@@ -436,7 +475,8 @@ public boolean equals(Object o) {
Objects.equals(this.links, speaker.links) &&
Objects.equals(this.fullName, speaker.fullName) &&
Objects.equals(this.sessions, speaker.sessions) &&
- Objects.equals(this.questionAnswers, speaker.questionAnswers);
+ Objects.equals(this.questionAnswers, speaker.questionAnswers) &&
+ Objects.equals(this.categories, speaker.categories);
}
private static boolean equalsNullable(JsonNullable a, JsonNullable b) {
@@ -445,7 +485,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b)
@Override
public int hashCode() {
- return Objects.hash(id, firstName, lastName, hashCodeNullable(bio), tagLine, hashCodeNullable(profilePicture), isTopSpeaker, links, fullName, sessions, questionAnswers);
+ return Objects.hash(id, firstName, lastName, hashCodeNullable(bio), tagLine, hashCodeNullable(profilePicture), isTopSpeaker, links, fullName, sessions, questionAnswers, categories);
}
private static int hashCodeNullable(JsonNullable a) {
@@ -470,6 +510,7 @@ public String toString() {
sb.append(" fullName: ").append(toIndentedString(fullName)).append("\n");
sb.append(" sessions: ").append(toIndentedString(sessions)).append("\n");
sb.append(" questionAnswers: ").append(toIndentedString(questionAnswers)).append("\n");
+ sb.append(" categories: ").append(toIndentedString(categories)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -624,6 +665,16 @@ public String toUrlQueryString(String prefix) {
}
}
+ // add `categories` to the URL query string
+ if (getCategories() != null) {
+ for (int i = 0; i < getCategories().size(); i++) {
+ if (getCategories().get(i) != null) {
+ joiner.add(getCategories().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%scategories%s%s", prefix, suffix,
+ "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix))));
+ }
+ }
+ }
+
return joiner.toString();
}
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java
similarity index 90%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java
index 3a14c20d..04c1b304 100644
--- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java
+++ b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java
@@ -50,7 +50,8 @@
SpeakerAll.JSON_PROPERTY_LINKS,
SpeakerAll.JSON_PROPERTY_FULL_NAME,
SpeakerAll.JSON_PROPERTY_SESSIONS,
- SpeakerAll.JSON_PROPERTY_QUESTION_ANSWERS
+ SpeakerAll.JSON_PROPERTY_QUESTION_ANSWERS,
+ SpeakerAll.JSON_PROPERTY_CATEGORY_ITEMS
})
public class SpeakerAll {
public static final String JSON_PROPERTY_ID = "id";
@@ -97,6 +98,10 @@ public class SpeakerAll {
@jakarta.annotation.Nonnull
private List questionAnswers = new ArrayList<>();
+ public static final String JSON_PROPERTY_CATEGORY_ITEMS = "categoryItems";
+ @jakarta.annotation.Nonnull
+ private List categoryItems = new ArrayList<>();
+
public SpeakerAll() {
}
@@ -415,6 +420,39 @@ public void setQuestionAnswers(@jakarta.annotation.Nonnull List
this.questionAnswers = questionAnswers;
}
+ public SpeakerAll categoryItems(@jakarta.annotation.Nonnull List categoryItems) {
+
+ this.categoryItems = categoryItems;
+ return this;
+ }
+
+ public SpeakerAll addCategoryItemsItem(Integer categoryItemsItem) {
+ if (this.categoryItems == null) {
+ this.categoryItems = new ArrayList<>();
+ }
+ this.categoryItems.add(categoryItemsItem);
+ return this;
+ }
+
+ /**
+ * Get categoryItems
+ * @return categoryItems
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+
+ public List getCategoryItems() {
+ return categoryItems;
+ }
+
+
+ @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCategoryItems(@jakarta.annotation.Nonnull List categoryItems) {
+ this.categoryItems = categoryItems;
+ }
+
@Override
public boolean equals(Object o) {
@@ -435,7 +473,8 @@ public boolean equals(Object o) {
Objects.equals(this.links, speakerAll.links) &&
Objects.equals(this.fullName, speakerAll.fullName) &&
Objects.equals(this.sessions, speakerAll.sessions) &&
- Objects.equals(this.questionAnswers, speakerAll.questionAnswers);
+ Objects.equals(this.questionAnswers, speakerAll.questionAnswers) &&
+ Objects.equals(this.categoryItems, speakerAll.categoryItems);
}
private static boolean equalsNullable(JsonNullable a, JsonNullable b) {
@@ -444,7 +483,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b)
@Override
public int hashCode() {
- return Objects.hash(id, firstName, lastName, hashCodeNullable(bio), tagLine, hashCodeNullable(profilePicture), isTopSpeaker, links, fullName, sessions, questionAnswers);
+ return Objects.hash(id, firstName, lastName, hashCodeNullable(bio), tagLine, hashCodeNullable(profilePicture), isTopSpeaker, links, fullName, sessions, questionAnswers, categoryItems);
}
private static int hashCodeNullable(JsonNullable a) {
@@ -469,6 +508,7 @@ public String toString() {
sb.append(" fullName: ").append(toIndentedString(fullName)).append("\n");
sb.append(" sessions: ").append(toIndentedString(sessions)).append("\n");
sb.append(" questionAnswers: ").append(toIndentedString(questionAnswers)).append("\n");
+ sb.append(" categoryItems: ").append(toIndentedString(categoryItems)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -627,6 +667,20 @@ public String toUrlQueryString(String prefix) {
}
}
+ // add `categoryItems` to the URL query string
+ if (getCategoryItems() != null) {
+ for (int i = 0; i < getCategoryItems().size(); i++) {
+ try {
+ joiner.add(String.format(java.util.Locale.ROOT, "%scategoryItems%s%s=%s", prefix, suffix,
+ "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(String.valueOf(getCategoryItems().get(i)), "UTF-8").replaceAll("\\+", "%20")));
+ } catch (UnsupportedEncodingException e) {
+ // Should never happen, UTF-8 is always supported
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
return joiner.toString();
}
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java
diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java b/src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java
similarity index 100%
rename from sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java
rename to src/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java
diff --git a/src/skip-publish.marker b/src/skip-publish.marker
new file mode 100644
index 00000000..e69de29b