From f1a681602271c2a202dee1706f4fe35f9092e4d2 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Oct 2025 09:26:29 +0200 Subject: [PATCH 1/7] remove outdated comments --- .../chartjs/model/options/LineOptions.java | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java index 4f27911b..89b21b9c 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java @@ -26,14 +26,7 @@ public class LineOptions extends Options { protected Number tension; protected Object stepped; - - /** - * @see #setShowLine(Boolean) - */ protected Boolean showLine; - /** - * @see #setSpanGaps(Boolean) - */ protected Boolean spanGaps; protected LineElements elements; @@ -59,64 +52,33 @@ public LineOptions setStepped(final Object stepped) return this; } - /** - * @see #setShowLine(Boolean) - */ public Boolean getShowLine() { return this.showLine; } - /** - *

- * If false, the lines between points are not drawn - *

- * - *

- * Default {@code true} - *

- */ public LineOptions setShowLine(final Boolean showLine) { this.showLine = showLine; return this; } - /** - * @see #setSpanGaps(Boolean) - */ public Boolean getSpanGaps() { return this.spanGaps; } - /** - *

- * If true, NaN data does not break the line - *

- * - *

- * Default {@code false} - *

- */ public LineOptions setSpanGaps(final Boolean spanGaps) { this.spanGaps = spanGaps; return this; } - /** - * @return {@link LineElements} instance, or {@code null} if not set - */ public LineElements getElements() { return this.elements; } - /** - * @param elements an {@link LineElements} instance, or {@code null} - * @return this instance for method chaining - */ public LineOptions setElements(final LineElements elements) { this.elements = elements; From 758d1182eebf03848b43a104fdcaeb4075645ad4 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Oct 2025 09:27:01 +0200 Subject: [PATCH 2/7] LineOptions#spanGaps: Use correct data type Fixes #439 --- .../software/xdev/chartjs/model/options/LineOptions.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java index 89b21b9c..0692ff64 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java @@ -27,7 +27,7 @@ public class LineOptions extends Options protected Number tension; protected Object stepped; protected Boolean showLine; - protected Boolean spanGaps; + protected Object spanGaps; protected LineElements elements; public Number getTension() @@ -63,12 +63,12 @@ public LineOptions setShowLine(final Boolean showLine) return this; } - public Boolean getSpanGaps() + public Object getSpanGaps() { return this.spanGaps; } - public LineOptions setSpanGaps(final Boolean spanGaps) + public LineOptions setSpanGaps(final Object spanGaps) { this.spanGaps = spanGaps; return this; From f3da9233b1de411e66456e6e3d11e17a842dfcd0 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Oct 2025 09:37:44 +0200 Subject: [PATCH 3/7] Deprecate Fill --- .../xdev/chartjs/model/dataset/PointDataset.java | 13 +++---------- .../xdev/chartjs/model/options/elements/Fill.java | 3 +++ .../xdev/chartjs/model/options/elements/Line.java | 9 +++------ 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java index 361d0375..3b069d87 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java @@ -21,12 +21,11 @@ import software.xdev.chartjs.model.enums.BorderCapStyle; import software.xdev.chartjs.model.enums.BorderJoinStyle; import software.xdev.chartjs.model.objects.OptionalArray; -import software.xdev.chartjs.model.options.elements.Fill; public abstract class PointDataset, O> extends Dataset { - private Fill fill; + private Object fill; private Float lineTension; @@ -64,18 +63,12 @@ public abstract class PointDataset, O> extends Dataset pointStyle = new OptionalArray<>(); - /** - * @see #setFill(Fill) - */ - public Fill getFill() + public Object getFill() { return this.fill; } - /** - * If true, fill the area under the line - */ - public T setFill(final Fill fill) + public T setFill(final Object fill) { this.fill = fill; return this.self(); diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java index 9092807a..c662fb31 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java @@ -24,7 +24,10 @@ *

* Option on the dataset object which can be used to create area between two datasets or a dataset and a boundary. *

+ * @deprecated Use corresponding data type like Boolean or String directly. + * All internal usages have been replaced by Object. */ +@Deprecated public class Fill { @SuppressWarnings("java:S1700") // Used inside JSON model diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java index 969f226d..f7b2cb5b 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java @@ -41,7 +41,7 @@ public class Line protected Float borderDashOffset; protected BorderJoinStyle borderJoinStyle; protected Boolean capBezierPoints; - protected Fill fill; + protected Object fill; protected Boolean stepped; /** @@ -277,10 +277,7 @@ public Line setCapBezierPoints(final Boolean capBezierPoints) return this; } - /** - * @see #setFill(Fill) - */ - public Fill getFill() + public Object getFill() { return this.fill; } @@ -294,7 +291,7 @@ public Fill getFill() * Default {@code true} *

*/ - public Line setFill(final Fill fill) + public Line setFill(final Object fill) { this.fill = fill; return this; From 27a12fac8a3aa326b03c71056dfd4a7c1f5348ce Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Oct 2025 09:37:49 +0200 Subject: [PATCH 4/7] Format --- .../xdev/chartjs/model/options/elements/LineElements.java | 1 - 1 file changed, 1 deletion(-) diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java index 658993c0..96112e2a 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java @@ -20,7 +20,6 @@ */ public class LineElements { - protected Line line; protected Point point; From 61783af70f0219f43d12e4c76e591a724c42140d Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Oct 2025 09:38:08 +0200 Subject: [PATCH 5/7] Sync LineOptions with JS source code --- .../chartjs/model/options/LineOptions.java | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java index 0692ff64..08f66b6b 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java @@ -24,12 +24,85 @@ */ public class LineOptions extends Options { + protected Object borderCapStyle; + protected Number[] borderDash; + protected Number borderDashOffset; + protected Object borderJoinStyle; + protected Boolean capBezierPoints; + protected String cubicInterpolationMode; protected Number tension; protected Object stepped; protected Boolean showLine; + protected Object fill; protected Object spanGaps; protected LineElements elements; + public Object getBorderCapStyle() + { + return this.borderCapStyle; + } + + public LineOptions setBorderCapStyle(final Object borderCapStyle) + { + this.borderCapStyle = borderCapStyle; + return this; + } + + public Number[] getBorderDash() + { + return this.borderDash; + } + + public LineOptions setBorderDash(final Number[] borderDash) + { + this.borderDash = borderDash; + return this; + } + + public Number getBorderDashOffset() + { + return this.borderDashOffset; + } + + public LineOptions setBorderDashOffset(final Number borderDashOffset) + { + this.borderDashOffset = borderDashOffset; + return this; + } + + public Object getBorderJoinStyle() + { + return this.borderJoinStyle; + } + + public LineOptions setBorderJoinStyle(final Object borderJoinStyle) + { + this.borderJoinStyle = borderJoinStyle; + return this; + } + + public Boolean getCapBezierPoints() + { + return this.capBezierPoints; + } + + public LineOptions setCapBezierPoints(final Boolean capBezierPoints) + { + this.capBezierPoints = capBezierPoints; + return this; + } + + public String getCubicInterpolationMode() + { + return this.cubicInterpolationMode; + } + + public LineOptions setCubicInterpolationMode(final String cubicInterpolationMode) + { + this.cubicInterpolationMode = cubicInterpolationMode; + return this; + } + public Number getTension() { return this.tension; @@ -63,6 +136,17 @@ public LineOptions setShowLine(final Boolean showLine) return this; } + public Object getFill() + { + return this.fill; + } + + public LineOptions setFill(final Object fill) + { + this.fill = fill; + return this; + } + public Object getSpanGaps() { return this.spanGaps; From d757d3aa474ea2c050041beead5edc107fd387ff Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Oct 2025 09:39:08 +0200 Subject: [PATCH 6/7] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67619a97..adeaaf4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 2.9.0 +* Synced `LineOptions` from ChartJS source code #439 +* Updated dependencies + # 2.8.1 * Migrated deployment to _Sonatype Maven Central Portal_ [#155](https://github.com/xdev-software/standard-maven-template/issues/155) From 277b67abbd8b068a4d2dfb673c9c5a284d467618 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Oct 2025 09:39:24 +0200 Subject: [PATCH 7/7] Bump version --- chartjs-java-model-demo/pom.xml | 4 ++-- chartjs-java-model/pom.xml | 2 +- pom.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chartjs-java-model-demo/pom.xml b/chartjs-java-model-demo/pom.xml index e36f1b3a..9dbd49b2 100644 --- a/chartjs-java-model-demo/pom.xml +++ b/chartjs-java-model-demo/pom.xml @@ -7,11 +7,11 @@ software.xdev chartjs-java-model-root - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT chartjs-java-model-demo - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT jar diff --git a/chartjs-java-model/pom.xml b/chartjs-java-model/pom.xml index 66b6ed07..c1868504 100644 --- a/chartjs-java-model/pom.xml +++ b/chartjs-java-model/pom.xml @@ -6,7 +6,7 @@ software.xdev chartjs-java-model - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT jar chartjs-java-model diff --git a/pom.xml b/pom.xml index 198c3aca..53dc2ad2 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ software.xdev chartjs-java-model-root - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT pom