ufjf.GetVideosUFJF.java Source code

Java tutorial

Introduction

Here is the source code for ufjf.GetVideosUFJF.java

Source

package ufjf;

import com.github.kevinsawicki.http.HttpRequest;
import org.joda.time.DateTime;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;

public class GetVideosUFJF {

    private static final String requisicaoUFJF(String sujeito, String DCTERMS) throws UnsupportedEncodingException {

        String textoEncode = " ?o where {<" + sujeito + "> " + DCTERMS + " ?o}";

        StringBuilder requisicaoQodra = new StringBuilder();

        requisicaoQodra.append("http://200.131.219.35:10035/repositories/qodra?query=select");

        requisicaoQodra.append(URLEncoder.encode(textoEncode, "UTF-8"));

        return HttpRequest.get(requisicaoQodra.toString()).accept("application/json").body();
    }

    public static final String getTitle(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:title>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final String getCourse(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:course>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final String getAbstract(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:abstract>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final String getPublischer(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "dcterms:publisher";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final String getCreator(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "dcterms:creator";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final String getLicense(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:license>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final String getLanguage(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:language>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final String getEducationLevel(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "dcterms:educationLevel";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        return valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "").replace("}", "")
                .replace("]]", "");

    }

    public static final Date getDate(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:date>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        DateTime d = DateTime.parse(valores[1].replace("[", "").replaceAll("\"", "").replaceAll("<", "")
                .replaceAll(">", "").replaceAll("}", "").replaceAll("]]", ""));

        Calendar c = Calendar.getInstance();

        Calendar calendar = Calendar.getInstance();
        calendar.set(d.getYear(), d.getMonthOfYear() - 1, d.getDayOfMonth());
        return calendar.getTime();
    }

    public static final ArrayList<String> getKeywords(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:keyword>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonQodra.split("values\":");

        valores[1] = valores[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "")
                .replace("}", "").replace("]]", "");
        valores = valores[1].split(",");

        ArrayList<String> keyWords = new ArrayList<String>();

        for (String s : valores) {
            keyWords.add(s);
        }

        return keyWords;
    }

    public static final ArrayList<String> getRefences(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:references>";

        String gsonArrayQodra = requisicaoUFJF(sujeito, DCTERMS);

        String valores[] = gsonArrayQodra.split("\"values\":");

        valores[1] = valores[1].replace("[", "").replaceAll("\"", "").replace("<", "").replace(">", "")
                .replace("}", "").replace("]]", "");

        valores = valores[1].split("],");

        ArrayList<String> references = new ArrayList<String>();
        //System.out.println("Video "+ sujeito);
        for (String valor : valores) {
            //valor = valor.replace("page","resource");
            valor.replaceAll("[\\\\]", "%");
            valor = URLDecoder.decode(valor, "UTF-8");
            references.add(valor);

            //          System.out.println(valor);
        }

        return references;
    }

    public static final ArrayList<String> getAllId() throws UnsupportedEncodingException {

        String textoEncode = " distinct ?s {?s <dcterms:relatedto> ?o} order by ?s";

        StringBuilder requisicaoQodra = new StringBuilder();

        requisicaoQodra.append("http://200.131.219.35:10035/repositories/qodra?query=select");

        requisicaoQodra.append(URLEncoder.encode(textoEncode, "UTF-8"));

        String gsonArrayQodra = HttpRequest.get(requisicaoQodra.toString()).accept("application/json").body();

        String retorno[] = gsonArrayQodra.split("\"values\":");

        retorno[1] = retorno[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "")
                .replace("}", "").replace("]]", "");

        retorno = retorno[1].split("],");

        ArrayList<String> ids = new ArrayList<String>();

        for (String ret : retorno) {
            ids.add(ret);
        }

        return ids;
    }

    public static final ArrayList<String> getIdByReference(String reference) throws UnsupportedEncodingException {
        String textoEncode = " ?s where{?s <dcterms:references> <" + reference + ">}";

        StringBuilder requisicaoQodra = new StringBuilder();

        requisicaoQodra.append("http://200.131.219.35:10035/repositories/qodra?query=select");

        requisicaoQodra.append(URLEncoder.encode(textoEncode, "UTF-8"));

        String gsonArrayQodra = HttpRequest.get(requisicaoQodra.toString()).accept("application/json").body();

        String retorno[] = gsonArrayQodra.split("\"values\":");

        retorno[1] = retorno[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "")
                .replace("}", "").replace("]]", "");

        retorno = retorno[1].split("],");

        ArrayList<String> ids = new ArrayList<String>();

        for (String ret : retorno) {

            if (!"]".equals(ret))
                ids.add(ret);
        }

        return ids;
    }

    public static final ArrayList<String> getCategories(String sujeito) throws UnsupportedEncodingException {

        String textoEncode = " ?o where {<" + sujeito + "> <dcterms:category> ?o} ";
        // "union {<"+sujeito+"> <dcterms:referencesEn> ?o}}";

        StringBuilder requisicaoQodra = new StringBuilder();

        requisicaoQodra.append("http://200.131.219.35:10035/repositories/qodra?query=select");

        requisicaoQodra.append(URLEncoder.encode(textoEncode, "UTF-8"));

        String gsonArrayQodra = HttpRequest.get(requisicaoQodra.toString()).accept("application/json").body();

        String valores[] = gsonArrayQodra.split("\"values\":");

        valores[1] = valores[1].replace("[", "").replaceAll("\"", "").replace("<", "").replace(">", "")
                .replace("}", "").replace("]]", "");

        valores = valores[1].split("],");

        String[] triplaRDF;

        ArrayList<String> categories = new ArrayList<String>();

        for (String valor : valores) {
            valor = valor.replace("page", "resource");
            valor = URLDecoder.decode(valor, "UTF-8");

            if (valor.startsWith("http")) {
                categories.add(valor.replaceAll(" ", ""));
            }
        }

        return categories;
    }

    public static final ArrayList<String> getVideosByCategories(String category)
            throws UnsupportedEncodingException {
        String textoEncode = " distinct ?s {?s <dcterms:category> <" + category + ">} ";
        //"union {?s <dcterms:referencesEn> <"+category+">}}";

        StringBuilder requisicaoQodra = new StringBuilder();

        requisicaoQodra.append("http://200.131.219.35:10035/repositories/qodra?query=select");

        requisicaoQodra.append(URLEncoder.encode(textoEncode, "UTF-8"));

        String gsonArrayQodra = HttpRequest.get(requisicaoQodra.toString()).accept("application/json").body();

        String retorno[] = gsonArrayQodra.split("\"values\":");

        retorno[1] = retorno[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "")
                .replace("}", "").replace("]]", "");

        retorno = retorno[1].split("],");

        ArrayList<String> videosdaCategoria = new ArrayList<String>();

        //System.out.println("Categoria: " + category);
        for (String ret : retorno) {
            if ("]".equals(ret))
                continue;
            //System.out.println("Relacionado: " + ret);
            videosdaCategoria.add(ret);
        }

        return videosdaCategoria;
    }

    public static final ArrayList<String> getVideosByReference(ArrayList<String> references)
            throws UnsupportedEncodingException {
        ArrayList<String> ids = new ArrayList<String>();

        for (String reference : references) {
            ArrayList<String> retorno = getIdByReference(reference);

            for (String ret : retorno) {
                ids.add(ret);
            }
        }

        return ids;
    }

    public static final ArrayList<String> getRelatedTo(String sujeito) throws UnsupportedEncodingException {
        final String DCTERMS = "<dcterms:relatedto>";

        String gsonQodra = requisicaoUFJF(sujeito, DCTERMS);

        // String valores[] = gsonQodra.split("values\":");

        String retorno[] = gsonQodra.split("\"values\":");

        retorno[1] = retorno[1].replace("[", "").replace("\"", "").replace("<", "").replace(">", "")
                .replace("}", "").replace("]]", "");

        retorno = retorno[1].split("],");

        ArrayList<String> videosRelacionados = new ArrayList<String>();

        //System.out.println("Categoria: " + category);
        for (String ret : retorno) {
            if ("]".equals(ret))
                continue;
            //System.out.println("Relacionado: " + ret);
            videosRelacionados.add(ret);
        }

        return videosRelacionados;

    }

}