From 5460b1b5333865f56c39788d5aa5ea16b6dc8e4e Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Thu, 13 Nov 2025 16:44:14 -0300 Subject: [PATCH] refactor: use lombok extension mechanism --- .../vaadin/addons/googlemaps/GoogleMap.java | 14 ++++++++------ .../vaadin/addons/googlemaps/GoogleMapMarker.java | 6 ++++-- .../vaadin/addons/googlemaps/GoogleMapPoly.java | 6 ++++-- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMap.java b/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMap.java index eaa11a2..a1d01ac 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMap.java +++ b/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMap.java @@ -46,6 +46,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; +import lombok.experimental.ExtensionMethod; import org.apache.commons.lang3.StringUtils; @SuppressWarnings("serial") @@ -54,6 +55,7 @@ @NpmPackage(value = "@flowingcode/google-map", version = "3.9.0") @NpmPackage(value = "@googlemaps/markerclusterer", version = "2.0.8") @JsModule("./googlemaps/geolocation.js") +@ExtensionMethod(value = JsonMigration.class, suppressBaseMethods = true) public class GoogleMap extends Component implements HasSize { private Integer trackLocationId = null; @@ -519,7 +521,7 @@ public Registration addClickListener(ComponentEventListener DomListenerRegistration registration = getElement() .addEventListener("google-map-click", ev -> { - JsonObject latLng = JsonMigration.getEventData(ev).get("event.detail.latLng"); + JsonObject latLng = ev.getEventData().get("event.detail.latLng"); listener.onComponentEvent(new GoogleMapClickEvent(this, true, latLng)); }).addEventData("event.detail.latLng"); return registration::remove; @@ -531,7 +533,7 @@ public Registration addRightClickListener(ComponentEventListener { - JsonObject latLng = JsonMigration.getEventData(ev).get("event.detail.latLng"); + JsonObject latLng = ev.getEventData().get("event.detail.latLng"); listener.onComponentEvent(new GoogleMapClickEvent(this, true, latLng)); }).addEventData("event.detail.latLng"); return registration::remove; @@ -768,7 +770,7 @@ public Registration addGoogleMapBoundsChangedListener( DomListenerRegistration registration = getElement().addEventListener("google-map-bounds_changed", ev -> { listener.onComponentEvent(new GoogleMapBoundsChangedEvent(this, true, - new LatLonBounds(JsonMigration.getEventData(ev).get("event.detail")))); + new LatLonBounds(ev.getEventData().get("event.detail")))); }).debounce(1000, DebouncePhase.TRAILING).addEventData("event.detail"); return registration::remove; } @@ -804,7 +806,7 @@ public void addCustomControls(CustomControl... customControls) { customControl.getControlButton().getElement().setAttribute("slot", "customControlSlot_" + i); getElement().appendChild(customControl.getControlButton().getElement()); } - JsonMigration.setPropertyJson(getElement(), "customControls", jsonArray); + getElement().setPropertyJson("customControls", jsonArray); } /** @@ -823,7 +825,7 @@ public void setCustomControls(CustomControl... customControls) { getElement().appendChild(customControl.getControlButton().getElement()); this.customControls.add(customControl); } - JsonMigration.setPropertyJson(getElement(), "customControls", jsonArray); + getElement().setPropertyJson("customControls", jsonArray); }); } @@ -925,6 +927,6 @@ public void setMapStyle(MapStyle... mapStyles) { MapStyle mapStyle = mapStyles[i]; jsonArray.set(i, mapStyle.getJson()); } - JsonMigration.setPropertyJson(getElement(), "styles", jsonArray); + getElement().setPropertyJson("styles", jsonArray); } } diff --git a/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapMarker.java b/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapMarker.java index e3f6893..0495465 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapMarker.java +++ b/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapMarker.java @@ -35,6 +35,7 @@ import com.vaadin.flow.shared.Registration; import elemental.json.JsonObject; import elemental.json.JsonValue; +import lombok.experimental.ExtensionMethod; /** The class representing a marker of the Google Map. */ @SuppressWarnings("serial") @@ -42,6 +43,7 @@ @JsModule("@flowingcode/google-map/google-map-marker.js") @NpmPackage(value = "@flowingcode/google-map", version = "3.9.0") @NpmPackage(value = "@googlemaps/markerclusterer", version = "2.0.8") +@ExtensionMethod(value = JsonMigration.class, suppressBaseMethods = true) public class GoogleMapMarker extends Component { private static long idCounter = 0; @@ -194,7 +196,7 @@ public void setIconUrl(String iconUrl) { * @param icon the icon image of the marker */ public void setIcon(GoogleMapIcon icon) { - JsonMigration.setPropertyJson(getElement(), "icon", icon.getJson()); + this.getElement().setPropertyJson("icon", icon.getJson()); } /** @@ -204,7 +206,7 @@ public void setIcon(GoogleMapIcon icon) { * @param label the new marker's label */ public void setLabel(MarkerLabel label) { - JsonMigration.setPropertyJson(getElement(), "label", label.getJson()); + this.getElement().setPropertyJson("label", label.getJson()); } /** diff --git a/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapPoly.java b/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapPoly.java index 6b60d07..c454f02 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapPoly.java +++ b/src/main/java/com/flowingcode/vaadin/addons/googlemaps/GoogleMapPoly.java @@ -35,6 +35,7 @@ import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.List; +import lombok.experimental.ExtensionMethod; @SuppressWarnings("serial") @Tag("google-map-poly") @@ -42,6 +43,7 @@ @JsModule("@flowingcode/google-map/google-map-point.js") @NpmPackage(value = "@flowingcode/google-map", version = "3.9.0") @NpmPackage(value = "@googlemaps/markerclusterer", version = "2.0.8") +@ExtensionMethod(value = JsonMigration.class, suppressBaseMethods = true) public abstract class GoogleMapPoly extends Component { private static final double DEFAULT_FILL_OPACITY = 0.5d; @@ -192,7 +194,7 @@ public void setIcons(Icon... icons) { for (int i = 0; i < icons.length; i++) { jsonArray.set(i, icons[i].getJson()); } - JsonMigration.setPropertyJson(getElement(), "icons", jsonArray); + getElement().setPropertyJson("icons", jsonArray); } /** @@ -205,7 +207,7 @@ public void setIcons(IconSequence... icons) { for (int i = 0; i < icons.length; i++) { jsonArray.set(i, icons[i].getJson()); } - JsonMigration.setPropertyJson(getElement(), "icons", jsonArray); + getElement().setPropertyJson("icons", jsonArray); } }