Skip to content

Commit 0cae21c

Browse files
Siwei Zhangbhufmann
authored andcommitted
server: fix swagger documentation for generic xy endpoint
- Fixed "xValuesDescription" and "yValuesDescription" to show XYAxisDescription instead of arrays. - Renamed "AxisDomainTimeRange" to "AxisDomainRange" to show that it is not only for time ranges. Previously "IAxisDomain.TimeRange" was renamed to "IAxisDomain.Range" but swagger documentation wasn't updated accordingly.
1 parent bbde152 commit 0cae21c

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/AxisDomain.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,19 @@
3131
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "type", visible = true)
3232
@JsonSubTypes({
3333
@JsonSubTypes.Type(value = AxisDomainCategorical.class, name = "categorical"),
34-
@JsonSubTypes.Type(value = AxisDomainTimeRange.class, name = "timeRange")
34+
@JsonSubTypes.Type(value = AxisDomainRange.class, name = "range")
3535
})
3636
public interface AxisDomain {
3737

3838
/**
3939
* Returns the type of axis domain.
4040
* <p>
4141
* This is used as a discriminator to identify the specific subtype
42-
* implementation (e.g., "categorical", "timeRange").
42+
* implementation (e.g., "categorical", "range").
4343
*
4444
* @return A string identifying the domain type
4545
*/
46-
@Schema(description = "Type of axis domain (e.g., 'categorical' or 'timeRange')", requiredMode = RequiredMode.REQUIRED)
46+
@Schema(description = "Type of axis domain (e.g., 'categorical' or 'range')", requiredMode = RequiredMode.REQUIRED)
4747
@JsonProperty("type")
4848
String getType();
4949
}

trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/AxisDomainTimeRange.java renamed to trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/AxisDomainRange.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* <p>
2424
* Used in Swagger schema generation for chart axis descriptions.
2525
*/
26-
public class AxisDomainTimeRange implements AxisDomain {
26+
public class AxisDomainRange implements AxisDomain {
2727

2828
private final long start;
2929
private final long end;
@@ -37,7 +37,7 @@ public class AxisDomainTimeRange implements AxisDomain {
3737
* The maximum value of the axis domain
3838
*/
3939
@JsonCreator
40-
public AxisDomainTimeRange(
40+
public AxisDomainRange(
4141
@JsonProperty("start") long start,
4242
@JsonProperty("end") long end) {
4343
this.start = start;
@@ -47,7 +47,7 @@ public AxisDomainTimeRange(
4747
@Override
4848
@Schema(description = "Type of axis domain", requiredMode = RequiredMode.REQUIRED)
4949
public String getType() {
50-
return "timeRange";
50+
return "range";
5151
}
5252

5353
/**

trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/SeriesModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ public interface SeriesModel {
6060
* @return The X values' description.
6161
*/
6262
@JsonProperty("xValuesDescription")
63-
@ArraySchema(arraySchema = @Schema(description = "Series' X axis description"), schema = @Schema(requiredMode = RequiredMode.REQUIRED))
63+
@Schema(description = "Series' X axis description", requiredMode = RequiredMode.REQUIRED)
6464
XYAxisDescription getXAxisDescription();
6565

6666
/**
6767
* @return The Y values' description.
6868
*/
6969
@JsonProperty("yValuesDescription")
70-
@ArraySchema(arraySchema = @Schema(description = "Series' Y axis description"), schema = @Schema(requiredMode = RequiredMode.REQUIRED))
70+
@Schema(description = "Series' Y axis description", requiredMode = RequiredMode.REQUIRED)
7171
XYAxisDescription getYAxisDescription();
7272

7373
/**

trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/webapp/AxisDomainSerializer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ public void serialize(IAxisDomain value, JsonGenerator gen, SerializerProvider s
5454
if (value instanceof IAxisDomain.Categorical categorical) {
5555
gen.writeStringField(TYPE, "categorical"); //$NON-NLS-1$
5656
gen.writeObjectField("categories", categorical.categories()); //$NON-NLS-1$
57-
} else if (value instanceof IAxisDomain.Range timeRange) {
58-
gen.writeStringField(TYPE, "timeRange"); //$NON-NLS-1$
59-
gen.writeNumberField("start", timeRange.start()); //$NON-NLS-1$
60-
gen.writeNumberField("end", timeRange.end()); //$NON-NLS-1$
57+
} else if (value instanceof IAxisDomain.Range range) {
58+
gen.writeStringField(TYPE, "range"); //$NON-NLS-1$
59+
gen.writeNumberField("start", range.start()); //$NON-NLS-1$
60+
gen.writeNumberField("end", range.end()); //$NON-NLS-1$
6161
} else {
6262
throw new IllegalArgumentException("Unsupported AxisDomain implementation: " + value.getClass()); //$NON-NLS-1$
6363
}

0 commit comments

Comments
 (0)