CONTROLLER.TProcessamentoJogo.java Source code

Java tutorial

Introduction

Here is the source code for CONTROLLER.TProcessamentoJogo.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package CONTROLLER;

import MODEL.Categoria;
import MODEL.Jogo;
import MODEL.Rodada;
import java.util.ArrayList;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

/**
 *
 * @author dinho
 */
public class TProcessamentoJogo implements Runnable {
    private ArrayList<Jogo> jogos = new ArrayList<>();
    private ArrayList<Categoria> cat = new ArrayList<>();
    private ArrayList<Rodada> rodadas = new ArrayList<>();
    private JSONArray jsonArray;

    public TProcessamentoJogo(JSONArray jsonArray, ArrayList<Categoria> categoria, ArrayList<Rodada> rodada) {
        this.jsonArray = jsonArray;
        this.cat = categoria;
        this.rodadas = rodada;
    }

    public ArrayList<Jogo> getRun() {
        return jogos;
    }

    @Override
    public void run() {
        Iterator iteratorJogo = jsonArray.iterator();
        int idJogo = 0;

        while (iteratorJogo.hasNext()) {

            JSONObject objetoJogo = (JSONObject) iteratorJogo.next();

            String airDate = (String) objetoJogo.get("air_date");
            String category = (String) objetoJogo.get("category");
            String round = (String) objetoJogo.get("round");
            String question = (String) objetoJogo.get("question");
            String value = (String) objetoJogo.get("value");
            String answer = (String) objetoJogo.get("answer");
            String show_number = (String) objetoJogo.get("show_number");

            airDate = airDate.replaceAll("-", "/");

            Jogo aux = new Jogo();
            aux.setId(idJogo);
            aux.setAir_date(airDate);
            aux.setPergunta(question);
            aux.setResposta(answer);
            aux.setShowNumber(Integer.parseInt(show_number));
            if (value == null) {
                aux.setValor(0.0);
            } else {
                value = value.substring(1);
                value = value.replaceAll(",", ".");
                aux.setValor(Double.parseDouble(value));
            }

            /*sub thread*/
            for (int k = 0; k < cat.size(); k++) {
                if (cat.get(k).getNome().equals(category)) {
                    aux.setCat(cat.get(k));
                    break;
                }
            }

            /*sub thread*/
            for (int j = 0; j < rodadas.size(); j++) {
                if (rodadas.get(j).getRodada().equals(round)) {
                    aux.setRodada(rodadas.get(j));
                    break;
                }
            }
            jogos.add(aux);
        }
    }

}