PublisherSearchView.java 1.69 KB
package org.legrog.web.publisher;

import org.legrog.entities.PublisherVersion;
import org.legrog.entities.SearchingException;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * View behind publisherSearch.xhtml
 */
@Named
@RequestScoped
public class PublisherSearchView implements Serializable {

    List<PublisherVersion> publisherVersions = new ArrayList<>();
    String searchString = new String();

    transient PublisherService publisherService;

    /**
     * Uses PublisherService to access search repository
     *
     * @param publisherService injected PublisherService
     */
    @Inject
    public PublisherSearchView(PublisherService publisherService) {
        this.publisherService = publisherService;
    }

    PublisherSearchView() {
        //no args constructor to make it proxyable
    }

    public boolean searchEmpty() {
        return ((!searchString.isEmpty()) && publisherVersions.isEmpty());
    }

    /**
     *
     */
    public void search() {
        try {
            this.publisherVersions = publisherService.search(this.searchString);
        } catch (SearchingException se) {
            // TODO Handle Exception
        }
    }

    public String getSearchString() {
        return searchString;
    }

    public void setSearchString(String searchString) {
        this.searchString = searchString;
    }

    public List<PublisherVersion> getPublisherVersions() {
        return publisherVersions;
    }

    public void setPublisherVersions(List<PublisherVersion> publisherVersions) {
        this.publisherVersions = publisherVersions;
    }

}