Package com.google.gsoc.web.pages

Source Code of com.google.gsoc.web.pages.MixinAutoCompleteSelectDemo

package com.google.gsoc.web.pages;

import java.util.ArrayList;
import java.util.List;

import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.SelectModel;
import org.apache.tapestry5.ValueEncoder;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;

import com.google.gsoc.encoder.PersonPrimaryKeyEncoder;
import com.google.gsoc.entity.Person;
import com.google.gsoc.model.PersonSelectModel;

public class MixinAutoCompleteSelectDemo {

  private static final PersonPrimaryKeyEncoder PERSON_PRIMARY_KEY_ENCODER = new PersonPrimaryKeyEncoder();

  @SuppressWarnings("unused")
  @Property
  @Persist("flash")
  private String message;
 
  @Property
  @Persist
  private Person person;
 
  @Property
  @Persist
  private Person friend;

  public void onActivate(String context) {
    this.person = null;
    this.friend = null;
  }
 
  @OnEvent(component = "form", value = EventConstants.SUCCESS)
  public void submit() {
   
    message = "Person: " + person.getName();
   
    if(friend != null)
      message += ", Friend: " + friend.getName()
  }
 
  public SelectModel getPersonSM() {
    List<Person> list = new ArrayList<Person>();
    if(person != null)
      list.add(person);
    return new PersonSelectModel(list);
  }
 
  public SelectModel getFriendSM() {
    List<Person> list = new ArrayList<Person>();
    if(friend != null)
      list.add(friend);
    return new PersonSelectModel(list);
  }
 
  SelectModel onProvideCompletionsFromPerson(String partial)
  {
    List<Person> list = CollectionFactory.newList();
   
    for(Person p : Person.getPersons())
    {
      if(p.getName().toUpperCase().indexOf(partial.toUpperCase()) >= 0 )
        list.add(p);
    }
   
    return new PersonSelectModel(list);
  }
 
  SelectModel onProvideCompletionsFromFriend(String partial)
  {
    List<Person> list = CollectionFactory.newList();
   
    for(Person p : Person.getPersons())
    {
      if(p.getName().toUpperCase().indexOf(partial.toUpperCase()) >= 0 )
        list.add(p);
    }
   
    return new PersonSelectModel(list);
  }
  public ValueEncoder<Person> getEncoder() {
    return PERSON_PRIMARY_KEY_ENCODER;
  }
 
 
}
TOP

Related Classes of com.google.gsoc.web.pages.MixinAutoCompleteSelectDemo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.