Methoden Abfrage ob ein Wert bereits vorhanden ist

Dimadon

Aktives Mitglied
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
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...
 
Moin,

bitte formatiere Deinen Code mal erst vernünftig (Einrückungen, Klammerung etc.) ..... 😱

So bekommt man ja Augenkrebs :autsch:

Gruß
Klaus
 

Zurück
Oben