Package at.ffesternberg.sybos

Source Code of at.ffesternberg.sybos.SybosEventClient

package at.ffesternberg.sybos;

import at.ffesternberg.sybos.entity.Event;
import at.ffesternberg.sybos.exception.SybosClientException;
import org.w3c.dom.Element;

import java.text.ParseException;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;

/**
* Sybos client for the endpoint xmlVeranstaltung.php
*/
public class SybosEventClient extends SybosClient<Event> {
    private boolean loadPast = false;
    private boolean loadFuture = true;

    public SybosEventClient(String baseUrl, String token) {
        super(baseUrl, token);
    }

    @Override
    protected String getServerResource() {
        return "xmlVeranstaltung.php";
    }

    @Override
    protected Event processEntity(Element el) throws SybosClientException,
            ParseException {
        Event ev = new Event();
        ev.setId(Integer.parseInt(getTextContent(el, "id")));
        ev.setFrom(parseSybosDate(getTextContent(el, "von"),
                getTextContent(el, "vont")));
        ev.setFrom(parseSybosDate(getTextContent(el, "bis"),
                getTextContent(el, "bist")));
        ev.setReferat(getTextContent(el, "referat"));
        ev.setBezeichnung1(getTextContent(el, "bezeichnung1"));
        ev.setBezeichnung2(getTextContent(el, "bezeichnung2"));
        ev.setOrt(getTextContent(el, "ort"));
        ev.setInhalt(getTextContent(el, "inhalt"));
        ev.setVoraussetzung(getTextContent(el, "voraussetzung"));
        ev.setKosten(getTextContent(el, "kosten"));
        ev.setAbteilung(getTextContent(el, "abteilung"));
        ev.setTitel(getTextContent(el, "veroeffentltitel"));
        ev.setBeschreibung(getTextContent(el, "veroeffentltxt"));
        return ev;
    }

    @Override
    public List<Event> loadEntites() throws SybosClientException {
        HashSet<Event> evSet = new HashSet<Event>();
        if (isLoadFuture()) {
            getArgs().put("z", "future");
            evSet.addAll(super.loadEntites());
        }
        if (isLoadPast()) {
            getArgs().put("z", "past");
            setOrder(ORDER_DESC);
            evSet.addAll(super.loadEntites());
        }
        List<Event> evList = new LinkedList<Event>();
        evList.addAll(evSet);
        Collections.sort(evList);
        return evList;
    }

    /**
     * Is loading past Events
     *
     * @return
     */
    public boolean isLoadPast() {
        return loadPast;
    }

    /**
     * Set loading past Events
     *
     * @param loadPast
     */
    public void setLoadPast(boolean loadPast) {
        this.loadPast = loadPast;
    }

    /**
     * Is loading future Events
     *
     * @return
     */
    public boolean isLoadFuture() {
        return loadFuture;
    }

    /**
     * Set loading future Events
     */
    public void setLoadFuture(boolean loadFuture) {
        this.loadFuture = loadFuture;
    }

}
TOP

Related Classes of at.ffesternberg.sybos.SybosEventClient

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.