After clicking on a Marker Gmap Info Window Opens
Nothing Happens - Copied the stack Trace
WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (default task-60) java.lang.ClassCastException: javax.faces.event.ValueChangeEvent cannot be cast to javax.faces.event.AjaxBehaviorEvent: javax.faces.FacesException: java.lang.ClassCastException: javax.faces.event.ValueChangeEvent cannot be cast to javax.faces.event.AjaxBehaviorEvent
at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:273)
at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1193)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:360)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:748)
..
Add marker programmatically to GMAP with Info Window. Create new Marker With function called from Info Window. After clicking on any Marker on Gmap getting the error.
package managedBeans; import java.io.Serializable; import javax.annotation.PostConstruct; import org.primefaces.event.map.OverlaySelectEvent; import de.krieger.data.SQL; @ManagedBean(name="apothekenMapMB") public void getAerzteInDistance(){ }
model="#{apothekenMapMB.advancedModel}"
center="#{apothekenMapMB.centerMap}"
zoom="#{apothekenMapMB.mapZoom}"
type="HYBRID"
style="width:100%;
height:900px;">
<p:commandButton value="Zeige" action="#{apothekenMapMB.getAerzteInDistance()}" update="mainFrm:gmap" />
</p:column>
</p:row>
</p:panelGrid>
</p:gmapInfoWindow>
</p:gmap>
</h:form>
</h:body>
6) Sample bean
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.faces.application.Application;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.model.map.Circle;
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Marker;
import org.primefaces.model.map.Polyline;
import de.krieger.gmap.tools.LatLngDistance;
import lombok.Getter;
import lombok.Setter;
import model.Apotheke;
import model.ArztPraxis;
@SessionScoped
public class ApothekenMapMB implements Serializable {@Getter private MapModel advancedModel;
@Setter @Getter private String centerMap;
@Setter @Getter private int mapZoom;
private List<Apotheke> apoListGH1 = new ArrayList<Apotheke>(),
apoListGH2 = new ArrayList<Apotheke>(),
apoListInaktiv = new ArrayList<Apotheke>();
private List<ArztPraxis> arztList = new ArrayList<ArztPraxis>();
@Getter Marker marker;
@Getter @Setter double entfernung = 250.0;
@Getter private String b1 = "&b=1";
@Getter boolean isApoMarker = false;
List<Marker> aerzte_Visible = null;
@PostConstruct
public void init() {
advancedModel = new DefaultMapModel();
centerMap = "50.35955312780162, 7.583527565002441";
mapZoom = 13;
}
public void showApotheken() {
//Variablen Initialisieren
apoListGH1 = new ArrayList<Apotheke>();
apoListGH2 = new ArrayList<Apotheke>();
apoListInaktiv = new ArrayList<Apotheke>();
// Hilfsvariable f眉r Listenerzeugung
boolean firstResult = true;
// Holen des FacesKontextes
FacesContext fc = FacesContext.getCurrentInstance();
// GmapModel bereinigen
advancedModel.getMarkers().clear();
//Erzeugen der Marker f眉r Apotheken
for(Apotheke a : apoListGH1){
LatLng l = getKoordForApo(a);
if(l == null)
continue;
Marker m = new Marker (l);
//Icons, Data, Title
m.setIcon(fc.getExternalContext().getRequestContextPath() + "XX.png");
m.setData("APO_"+a.getKdnr());
m.setTitle(a.getApothekenName());
advancedModel.addOverlay(m);
}
// Aufr盲umarbeiten
System.gc();
}
public LatLng getKoordForApo(Apotheke a){
LatLng result = null;
result = new LatLng(a.getLat(), a.getLng());
return result;
}
public void onMarkerSelect(OverlaySelectEvent event) throws Exception {
System.out.println(event.getOverlay().getClass());
if (event.getOverlay().getClass().getName().equals(Marker.class.getName())) {
marker = (Marker) event.getOverlay();
if(marker.getData().toString().contains("APO_")){
isApoMarker = true;
System.out.println("setting Center Map to : " + centerMap);
centerMap = String.valueOf(marker.getLatlng().getLat()) + ", " + String.valueOf(marker.getLatlng().getLng());
}
else isApoMarker = false;
System.out.println(marker.getData());
}
}
public Apotheke getApothekeByKDNR(String kdnr){
for(Apotheke a : apoListGH1){
if(!kdnr.trim().isEmpty() && kdnr.replace("APO_", "").trim().equals(a.getKdnr().trim()))
return a;
}
for(Apotheke a : apoListGH2){
if(!kdnr.trim().isEmpty() && kdnr.replace("APO_", "").trim().equals(a.getKdnr().trim()))
return a;
}
for(Apotheke a : apoListInaktiv){
if(!kdnr.trim().isEmpty() && kdnr.replace("APO_", "").trim().equals(a.getKdnr().trim()))
return a;
}
return null;
}
// l枚schen aller Circles auf der karte
advancedModel.getCircles().clear();
// neuen Circle erstellen f眉r den AnzeigeRadius der 脛rzte, werte zuweisen und der Karte zuweisen
Circle circle2 = new Circle(marker.getLatlng(), entfernung);
circle2.setStrokeColor("#00ff00");
circle2.setFillColor("#00ff00");
circle2.setStrokeOpacity(0.5);
circle2.setFillOpacity(0.5);
advancedModel.addOverlay(circle2);
if(aerzte_Visible == null)
aerzte_Visible = new ArrayList<Marker>(500);
else{
advancedModel.getMarkers().removeAll(aerzte_Visible);
}
aerzte_Visible.clear();
Application application = FacesContext.getCurrentInstance().getApplication();
AerzteMapMB aerzteMapMB = application.evaluateExpressionGet(FacesContext.getCurrentInstance(), "#{aerzteMapMB}", AerzteMapMB.class);
for(ArztPraxis ap : aerzteMapMB.getListArztPraxis()) {
if(LatLngDistance.distFrom(marker.getLatlng(), new LatLng(ap.getLat(),ap.getLng())) < entfernung){
Marker m = createMarkerFromArztPraxis(ap);
advancedModel.addOverlay(m);
aerzte_Visible.add(m);
}
}
System.gc();
entfernung = 250;
}
private Marker createMarkerFromArztPraxis(ArztPraxis ap) {
Marker m = new Marker(new LatLng(ap.getLat(),ap.getLng()));
m.setIcon(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "XX.png");
m.setTitle("Dr. "+ap.getNachName() + "\n" + // Name
"Fachbereich: "+ap.getFachBereich() + "\n" +
ap.getStrasse() + "\n" + // Strasse
ap.getPlz() + " " + ap.getOrt() + "\n" //PLZ Ort
);
return m;
}
This is not a runnable exmaple -> we don't have something like ArztPraxis
so please create a mvce
Was working in Version 6.1.8
Since i Updated to Version 6.2.10 i got this error like the stacktrace
I will make today a Running Exaple MVCE
Will close it for now. Feel free to create a new issue with a MVCE in the future.
Most helpful comment
This is not a runnable exmaple -> we don't have something like ArztPraxis
so please create a mvce