Tip: Click lines to highlight, hold ctrl/cmd to multi-select

http://codedumper.com/efado (15-Jul @ 13:31)

Syntax Highlighted Code

  1. package sk.serviceintegra.domenovac.client.page.finalpage.login;
  2.  
  3. import org.apache.wicket.PageParameters;
  4. import org.apache.wicket.Session;
  5. import org.apache.wicket.markup.html.basic.Label;
  6. import org.apache.wicket.markup.html.form.Button;
  7. import org.apache.wicket.markup.html.form.Form;
  8. import org.apache.wicket.markup.html.form.FormComponent;
  9. import org.apache.wicket.markup.html.form.StatelessForm;
  10. import org.apache.wicket.markup.html.form.TextField;
  11. import org.apache.wicket.markup.html.form.validation.AbstractFormValidator;
  12. import org.apache.wicket.model.PropertyModel;
  13. import org.apache.wicket.model.ResourceModel;
  14. import org.apache.wicket.model.StringResourceModel;
  15. import org.apache.wicket.validation.validator.EmailAddressValidator;
  16.  
  17. import sk.serviceintegra.domenovac.client.application.session.DomenovacSkSession;
  18. import sk.serviceintegra.domenovac.client.common.helper.DomenovacSkHelper;
  19. import sk.serviceintegra.domenovac.client.page.basepage.leftmenu.LeftMenuPage;
  20. import sk.serviceintegra.domenovac.client.page.finalpage.home.HomePage;
  21. import sk.serviceintegra.domenovac.client.page.finalpage.lostpassword.LostPasswordPage;
  22. import sk.serviceintegra.domenovac.client.service.ServiceLocator;
  23. import sk.serviceintegra.domenovac.middle.dto.mpp.DtoLogin;
  24. import sk.serviceintegra.domenovac.middle.service.api.IDomenovac;
  25. import sk.serviceintegra.wisa.common.headercontributor.ExtendedHeaderContributor;
  26. import sk.serviceintegra.wisa.component.formcomponent.password.ExtendedPasswordTextField;
  27. import sk.serviceintegra.wisa.component.formcomponent.textfield.ExtendedTextField;
  28. import sk.serviceintegra.wisa.component.link.textlink.BookmarkablePageTextLink;
  29. import sk.serviceintegra.wisa.helper.WicketHelper;
  30.  
  31. /**
  32.  * Prihlasovacia stranka.
  33.  *
  34.  * @author simik
  35.  */
  36. public class LoginPage extends LeftMenuPage {
  37.    
  38.     private String email;
  39.     private String password;
  40.    
  41.     private DtoLogin dtoLogin;
  42.    
  43.    
  44.     public LoginPage(PageParameters pageParams) {
  45.         super(pageParams);
  46.        
  47.         //CSS
  48.         addCss();
  49.        
  50.         //HEADER wicket:message
  51.        
  52.         //formular
  53.         StatelessForm<Void> form = new StatelessForm<Void>("form");
  54.         add(form);
  55.        
  56.        
  57.         //label: email
  58.         Label emailLabel = new Label("emailLabel", new ResourceModel("emailLabel"));
  59.         form.add(emailLabel);
  60.        
  61.         //textfield: email
  62.         ExtendedTextField<String> emailTextField = new ExtendedTextField<String>("emailTextField", new PropertyModel<String>(this, "email"));
  63.         emailTextField.setLabel(new ResourceModel("emailLabel"));
  64.         emailTextField.setRequired(true);
  65.         emailTextField.add(EmailAddressValidator.getInstance());
  66.         form.add(emailTextField);
  67.         //label: password
  68.         Label passwordLabel = new Label("passwordLabel", new ResourceModel("passwordLabel"));
  69.         form.add(passwordLabel);
  70.        
  71.         //textfield: password
  72.         ExtendedPasswordTextField passwordTextField = new ExtendedPasswordTextField("passwordTextField", new PropertyModel<String>(this, "password"));
  73.         passwordTextField.setLabel(new ResourceModel("passwordLabel"));
  74.         passwordTextField.setRequired(true);
  75.         form.add(passwordTextField);
  76.        
  77.         //FORMULAROVY VALIDATOR
  78.         form.add(new LoginValidator(emailTextField, passwordTextField));
  79.        
  80.         //link: lost password
  81.         BookmarkablePageTextLink lostPasswordPageLink = new BookmarkablePageTextLink("lostPasswordPageLink", LostPasswordPage.class, new StringResourceModel("lostCredentials", this, null));
  82.         form.add(lostPasswordPageLink);
  83.        
  84.         //submit button
  85.         Button submitButton = new Button("submitButton", new ResourceModel("prihlasit")){
  86.             private static final long serialVersionUID = 1L;
  87.            
  88.             @Override
  89.             public void onSubmit() {
  90.                 try {
  91.                     DomenovacSkSession session = (DomenovacSkSession)Session.get();
  92.                     session.setLogin(dtoLogin);    
  93.                    
  94.                     if (!continueToOriginalDestination()){
  95.                         setResponsePage(HomePage.class);
  96.                     }
  97.                 } catch (Exception e) {
  98.                     WicketHelper.logErrorAndThrowRuntimeException(e);
  99.                 }
  100.             }
  101.         };
  102.         form.add(submitButton);
  103.     }
  104.    
  105.    
  106.    
  107.     private void addCss(){
  108.         add(ExtendedHeaderContributor.forCss(LoginPage.class, "css/LoginPage.css"));
  109.     }
  110.    
  111.    
  112.    
  113.    
  114.    
  115.    
  116.     // SETTERS & GETTERS
  117.     //===================================================================
  118.  
  119.     public String getEmail() {
  120.         return email;
  121.     }
  122.  
  123.     public void setEmail(String email) {
  124.         this.email = email;
  125.     }
  126.  
  127.     public String getPassword() {
  128.         return password;
  129.     }
  130.  
  131.     public void setPassword(String password) {
  132.         this.password = password;
  133.     }
  134.    
  135.    
  136.    
  137.    
  138.    
  139.     // VALIDATOR PRE MENO/HESLO
  140.     //========================================================================
  141.    
  142.     class LoginValidator extends AbstractFormValidator{
  143.         private static final long serialVersionUID = 1L;
  144.  
  145.         private TextField<String> emailTextField;
  146.         private TextField<String> hesloTextField;
  147.        
  148.        
  149.         public LoginValidator(TextField<String> emailTextField, TextField<String> heshloTextField) {
  150.             super();
  151.             this.emailTextField = emailTextField;
  152.             this.hesloTextField = heshloTextField;
  153.         }
  154.  
  155.         public FormComponent<?>[] getDependentFormComponents() {
  156.             return new FormComponent<?>[]{ emailTextField, hesloTextField};
  157.         }
  158.  
  159.         public void validate(Form<?> form) {
  160.             IDomenovac service = ServiceLocator.getDomenovacService();
  161.             try {
  162.                 String meno = emailTextField.getConvertedInput();
  163.                 String heslo = hesloTextField.getConvertedInput();
  164.                
  165.                 dtoLogin = service.login(meno, heslo);
  166.                 //uzivatela hned prihlasime
  167.                 DomenovacSkHelper.getSession().setLogin(dtoLogin);
  168.             } catch (Exception e) {
  169.                 StringResourceModel messageModel = new StringResourceModel("loginErrorMessage", LoginPage.this, null);
  170.                 String message = messageModel.getObject();
  171.                 form.error(message);
  172.             }
  173.            
  174.         }
  175.        
  176.        
  177.        
  178.     }
  179.  
  180.  
  181.  
  182.  
  183.    
  184.  
  185.  
  186.    
  187.  
  188. }
  189.  

Plain Code

package sk.serviceintegra.domenovac.client.page.finalpage.login;

import org.apache.wicket.PageParameters;
import org.apache.wicket.Session;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.StatelessForm;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.form.validation.AbstractFormValidator;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.validation.validator.EmailAddressValidator;

import sk.serviceintegra.domenovac.client.application.session.DomenovacSkSession;
import sk.serviceintegra.domenovac.client.common.helper.DomenovacSkHelper;
import sk.serviceintegra.domenovac.client.page.basepage.leftmenu.LeftMenuPage;
import sk.serviceintegra.domenovac.client.page.finalpage.home.HomePage;
import sk.serviceintegra.domenovac.client.page.finalpage.lostpassword.LostPasswordPage;
import sk.serviceintegra.domenovac.client.service.ServiceLocator;
import sk.serviceintegra.domenovac.middle.dto.mpp.DtoLogin;
import sk.serviceintegra.domenovac.middle.service.api.IDomenovac;
import sk.serviceintegra.wisa.common.headercontributor.ExtendedHeaderContributor;
import sk.serviceintegra.wisa.component.formcomponent.password.ExtendedPasswordTextField;
import sk.serviceintegra.wisa.component.formcomponent.textfield.ExtendedTextField;
import sk.serviceintegra.wisa.component.link.textlink.BookmarkablePageTextLink;
import sk.serviceintegra.wisa.helper.WicketHelper;

/**
 * Prihlasovacia stranka.
 * 
 * @author simik
 */
public class LoginPage extends LeftMenuPage {
    
    private String email;
    private String password;
    
    private DtoLogin dtoLogin;
    
    
    public LoginPage(PageParameters pageParams) {
        super(pageParams);
        
        //CSS
        addCss();
        
        //HEADER wicket:message
        
        //formular
        StatelessForm<Void> form = new StatelessForm<Void>("form");
        add(form);
        
        
        //label: email
        Label emailLabel = new Label("emailLabel", new ResourceModel("emailLabel"));
        form.add(emailLabel);
        
        //textfield: email
        ExtendedTextField<String> emailTextField = new ExtendedTextField<String>("emailTextField", new PropertyModel<String>(this, "email"));
        emailTextField.setLabel(new ResourceModel("emailLabel"));
        emailTextField.setRequired(true);
        emailTextField.add(EmailAddressValidator.getInstance());
        form.add(emailTextField);
        //label: password
        Label passwordLabel = new Label("passwordLabel", new ResourceModel("passwordLabel"));
        form.add(passwordLabel);
        
        //textfield: password
        ExtendedPasswordTextField passwordTextField = new ExtendedPasswordTextField("passwordTextField", new PropertyModel<String>(this, "password"));
        passwordTextField.setLabel(new ResourceModel("passwordLabel"));
        passwordTextField.setRequired(true);
        form.add(passwordTextField);
        
        //FORMULAROVY VALIDATOR
        form.add(new LoginValidator(emailTextField, passwordTextField));
        
        //link: lost password
        BookmarkablePageTextLink lostPasswordPageLink = new BookmarkablePageTextLink("lostPasswordPageLink", LostPasswordPage.class, new StringResourceModel("lostCredentials", this, null));
        form.add(lostPasswordPageLink);
        
        //submit button
        Button submitButton = new Button("submitButton", new ResourceModel("prihlasit")){
            private static final long serialVersionUID = 1L;
            
            @Override
            public void onSubmit() {
                try {
                    DomenovacSkSession session = (DomenovacSkSession)Session.get();
                    session.setLogin(dtoLogin);    
                    
                    if (!continueToOriginalDestination()){
                        setResponsePage(HomePage.class);
                    }
                } catch (Exception e) {
                    WicketHelper.logErrorAndThrowRuntimeException(e);
                }
            }
        };
        form.add(submitButton);
    }
    
    
    
    private void addCss(){
        add(ExtendedHeaderContributor.forCss(LoginPage.class, "css/LoginPage.css"));
    }
    
    
    
    
    
    
    // SETTERS & GETTERS
    //===================================================================

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
    
    
    
    
    
    // VALIDATOR PRE MENO/HESLO
    //========================================================================
    
    class LoginValidator extends AbstractFormValidator{
        private static final long serialVersionUID = 1L;

        private TextField<String> emailTextField;
        private TextField<String> hesloTextField;
        
        
        public LoginValidator(TextField<String> emailTextField, TextField<String> heshloTextField) {
            super();
            this.emailTextField = emailTextField;
            this.hesloTextField = heshloTextField;
        }

        public FormComponent<?>[] getDependentFormComponents() {
            return new FormComponent<?>[]{ emailTextField, hesloTextField};
        }

        public void validate(Form<?> form) {
            IDomenovac service = ServiceLocator.getDomenovacService();
            try {
                String meno = emailTextField.getConvertedInput();
                String heslo = hesloTextField.getConvertedInput();
                
                dtoLogin = service.login(meno, heslo);
                //uzivatela hned prihlasime
                DomenovacSkHelper.getSession().setLogin(dtoLogin);
            } catch (Exception e) {
                StringResourceModel messageModel = new StringResourceModel("loginErrorMessage", LoginPage.this, null);
                String message = messageModel.getObject();
                form.error(message);
            }
            
        }
        
        
        
    }




    


    

}

Permalink: http://codedumper.com/efado