Hallo Leute, habe ein kleines Problem mit meiner IF ELSE Abfrage. Hier soll ein Pannel(GWT) aufgerufen werden wenn die Email des Nutzers noch nicht in der Datenbank erscheint. Habe hierzu eine IF-ELSE Abfrage geschrieben die auch im Prinzip funktioniert, jedoch nicht so sauber. Da heißt das Pannel erscheint immer. Einmal für den neuen Nutzer mit einem Button zum eintragen und für einen bestehenden Nutzer ohne Button. Ich hoffe mir kann hier jemand helfen.
Der Code sieht wie folgt aus
Vielen Dank schon einmal...
Der Code sieht wie folgt aus
Java:
private void googlelogincheck() {
//aufrufen async call von LoginInfo
final PinnwandVerwaltungAsync pinnwandVerwaltung = ClientSideSettings.getPinnwandVerwaltung();
pinnwandVerwaltung.login(GWT.getHostPageBaseURL(), new AsyncCallback <LoginInfo>(){
private boolean status;
public void onFailure(Throwable error) {}
public void onSuccess(LoginInfo result) {
loginInfo = result;
if(loginInfo.isLoggedIn()) {
loginInfo.getEmailAddress();
loginInfo.getNickname();
Window.alert("User-ID:"+ loginInfo.getEmailAddress() + loginInfo.getNickname());
// nutzerInDatenbank(result);
if(nutzerInDatenbank(loginInfo.getEmailAddress()) == false){
VerticalPanel userInfoPanel = new VerticalPanel();
final TextBox vorname = new TextBox();
vorname.setText("Vorname");
final TextBox nachname = new TextBox();
nachname.setText("nachname");
final TextBox nickname = new TextBox();
nickname.setText(loginInfo.getNickname());
final TextBox email = new TextBox();
email.setText(loginInfo.getEmailAddress());
email.setEnabled(false);
Button abschicken = new Button();
abschicken.setText("User anlegen");
userInfoPanel.add(vorname);
userInfoPanel.add(nachname);
userInfoPanel.add(nickname);
userInfoPanel.add(email);
userInfoPanel.add(abschicken);
RootPanel.get().add(userInfoPanel);
System.out.print("CLICK");
abschicken.addClickHandler(new ClickHandler (){
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
pinnwandVerwaltung.createUser(vorname.getText(), nachname.getText(), nickname.getText(), email.getText(), new AsyncCallback<User>(){
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
}
public void onSuccess(User result) {
// TODO Auto-generated method stub
}
});
}
});
}
RootPanel.get("header").add(header);
RootPanel.get("navigation").add(navigation);
RootPanel.get("content").add(content);
} else {
loadLogin();
}
}
private boolean nutzerInDatenbank(String email) {
pinnwandVerwaltung.findUserbyEmail(email, new AsyncCallback<User>(){
public void onFailure(Throwable caught){
System.out.println(caught.getMessage());
caught.getCause();
System.out.print("Fehler");
}
public void onSuccess(User result) {
// TODO Auto-generated method stub
if(result==null){
status = false;
}else{
status = true;
}
}
});
return status;
}
private void loadLogin() {
signInLink.setHref(loginInfo.getLoginUrl());
loginPanel.add(loginLabel);
loginPanel.add(signInLink);
logButton.addClickHandler(new ClickHandler(){
public void onClick(ClickEvent event) {
Window.Location.assign(loginInfo.getLoginUrl());
}
});
RootPanel.get().add(logButton);
}
});
}
Vielen Dank schon einmal...