Skip to content

Commit cd02426

Browse files
authored
Suppress Pattern annotation on property of type byte array (#19346)
* Suppress Pattern annotation on property of type byte array Signed-off-by: Tim Quinn <tim.quinn@oracle.com> * Straggler files from generated samples * Add new format test to workflows --------- Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
1 parent 024bbb7 commit cd02426

40 files changed

Lines changed: 1122 additions & 1 deletion

File tree

.github/workflows/samples-java-helidon-v3.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ on:
55
paths:
66
- samples/client/petstore/java-helidon-client/v3/**
77
- samples/server/petstore/java-helidon-server/v3/**
8+
- samples/server/others/java-helidon-server/v3/**
89
pull_request:
910
paths:
1011
- samples/client/petstore/java-helidon-client/v3/**
1112
- samples/server/petstore/java-helidon-server/v3/**
13+
- samples/server/others/java-helidon-server/v3/**
1214
jobs:
1315
build:
1416
name: Build Java Helidon
@@ -21,6 +23,7 @@ jobs:
2123
- samples/client/petstore/java-helidon-client/v3/se
2224
- samples/server/petstore/java-helidon-server/v3/mp
2325
- samples/server/petstore/java-helidon-server/v3/se
26+
- samples/server/others/java-helidon-server/v3/mp-format-test
2427
version: [17]
2528
steps:
2629
- uses: actions/checkout@v4

.github/workflows/samples-java-helidon-v4.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ on:
55
paths:
66
- samples/client/petstore/java-helidon-client/v4/**
77
- samples/server/petstore/java-helidon-server/v4/**
8+
- samples/server/others/java-helidon-server/v4/**
89
pull_request:
910
paths:
1011
- samples/client/petstore/java-helidon-client/v4/**
1112
- samples/server/petstore/java-helidon-server/v4/**
13+
- samples/server/others/java-helidon-server/v4/**
1214
jobs:
1315
build:
1416
name: Build Java Helidon
@@ -22,6 +24,7 @@ jobs:
2224
- samples/server/petstore/java-helidon-server/v4/mp
2325
- samples/server/petstore/java-helidon-server/v4/se
2426
- samples/server/petstore/java-helidon-server/v4/se-uac
27+
- samples/server/others/java-helidon-server/v4/mp-format-test
2528
version: [21]
2629
steps:
2730
- uses: actions/checkout@v4
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
generatorName: java-helidon-server
2+
library: mp
3+
outputDir: samples/server/others/java-helidon-server/v3/mp-format-test
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/helidon/format-test.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/java-helidon/server
6+
additionalProperties:
7+
helidonVersion: 3.2.7
8+
artifactId: format-helidon-server-mp
9+
hideGenerationTimestamp: "true"
10+
fullProject: "true"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
generatorName: java-helidon-server
2+
library: mp
3+
outputDir: samples/server/others/java-helidon-server/v4/mp-format-test
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/helidon/format-test.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/java-helidon/server
6+
additionalProperties:
7+
helidonVersion: 4.0.11
8+
artifactId: format-helidon-server-mp
9+
hideGenerationTimestamp: "true"
10+
fullProject: "true"

modules/openapi-generator/src/main/resources/java-helidon/server/libraries/mp/beanValidationCore.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{#pattern}} @Pattern(regexp="{{{.}}}"){{/pattern}}{{!
1+
{{#pattern}}{{^isByteArray}} @Pattern(regexp="{{{.}}}"){{/isByteArray}}{{/pattern}}{{!
22
minLength && maxLength set
33
}}{{#minLength}}{{#maxLength}} @Size(min={{minLength}},max={{maxLength}}){{/maxLength}}{{/minLength}}{{!
44
minLength set, maxLength not
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
openapi: 3.0.0
2+
servers:
3+
- url: 'http://petstore.helidon.io:8080/format'
4+
info:
5+
description: >-
6+
This spec is mainly for testing Petstore server and contains fake endpoints,
7+
models. Please do not use this for any other purpose. For this sample, you can use the api key
8+
`special-key` to test the authorization filters. Special characters: "
9+
\
10+
version: 1.0.0
11+
title: OpenAPI Petstore
12+
license:
13+
name: Apache-2.0
14+
url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
15+
tags:
16+
- name: format
17+
description: Format tester
18+
paths:
19+
/format:
20+
get:
21+
operationId: simple
22+
responses:
23+
"200":
24+
content: {}
25+
description: success
26+
tags:
27+
- format
28+
29+
components:
30+
schemas:
31+
format_test:
32+
properties:
33+
byte:
34+
format: byte
35+
pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
36+
type: string
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# OpenAPI Generator Ignore
2+
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
3+
4+
# Use this file to prevent files from being overwritten by the generator.
5+
# The patterns follow closely to .gitignore or .dockerignore.
6+
7+
# As an example, the C# client generator defines ApiClient.cs.
8+
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9+
#ApiClient.cs
10+
11+
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
12+
#foo/*/qux
13+
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14+
15+
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16+
#foo/**/qux
17+
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18+
19+
# You can also negate patterns with an exclamation (!).
20+
# For example, you can ignore all files in a docs folder with the file extension .md:
21+
#docs/*.md
22+
# Then explicitly reverse the ignore rule for a single file:
23+
#!docs/README.md
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
README.md
2+
pom.xml
3+
src/main/java/org/openapitools/server/JavaTimeFormatter.java
4+
src/main/java/org/openapitools/server/RFC3339DateFormat.java
5+
src/main/java/org/openapitools/server/RestApplication.java
6+
src/main/java/org/openapitools/server/api/FormatService.java
7+
src/main/java/org/openapitools/server/api/FormatServiceImpl.java
8+
src/main/java/org/openapitools/server/model/FormatTest.java
9+
src/main/java/org/openapitools/server/package-info.java
10+
src/main/resources/META-INF/beans.xml
11+
src/main/resources/META-INF/microprofile-config.properties
12+
src/main/resources/META-INF/openapi.yml
13+
src/main/resources/logging.properties
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7.8.0-SNAPSHOT
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Helidon Server with OpenAPI
2+
3+
## Build and run
4+
5+
With JDK11+
6+
```bash
7+
mvn package
8+
java -jar target/format-helidon-server-mp.jar
9+
```
10+
11+
## Exercise the application
12+
13+
```
14+
curl -X GET http://petstore.helidon.io:8080/format
15+
16+
```
17+
18+
## Try health and metrics
19+
20+
```
21+
curl -s -X GET http://petstore.helidon.io:8080/format/health
22+
{"outcome":"UP",...
23+
. . .
24+
25+
# Prometheus Format
26+
curl -s -X GET http://petstore.helidon.io:8080/format/metrics
27+
# TYPE base:gc_g1_young_generation_count gauge
28+
. . .
29+
30+
# JSON Format
31+
curl -H 'Accept: application/json' -X GET http://petstore.helidon.io:8080/format/metrics
32+
{"base":...
33+
. . .
34+
```

0 commit comments

Comments
 (0)