package eu.dnetlib.recolecta.extended.ui;

import org.apache.commons.lang3.StringEscapeUtils;

/**
 * Created by miriam on 04/05/2018.
 */
public class Query {

    private String title="";
    private String url="";
    private String author="";
    private String repository="";
    private String institution="";

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getRepository() {
        return repository;
    }

    public void setRepository(String repository) {
        this.repository = repository;
    }

    public String getInstitution() {
        return institution;
    }

    public void setInstitution(String institution) {
        this.institution = institution;
    }

    @Override
    public String toString() {
        return "Query{" +
                "title='" + title + '\'' +
                ", url='" + url + '\'' +
                ", author='" + author + '\'' +
                ", repository='" + repository + '\'' +
                ", institution='" + institution + '\'' +
                '}';
    }

    public String getIndexQuery() {
        String query = "creator = " + author;


        if(!title.isEmpty()) {
            query += "and title =" + StringEscapeUtils.escapeXml11(title);
        }

        if(!url.isEmpty()){
            query += "and identifier = " + StringEscapeUtils.escapeXml11(url);
        }

        if(!repository.isEmpty()){
            query += " and repositoryname = " + StringEscapeUtils.escapeXml11(repository);
        }

        if(!institution.isEmpty()){
            query += " and aggregatorinstitution = " + StringEscapeUtils.escapeXml11(institution);
        }


        return query;
    }


}
