Android Open Source - ReqDroid Dependencias Utils






From Project

Back to project page ReqDroid.

License

The source code is released under:

GNU General Public License

If you think the Android project ReqDroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Este arquivo esta sujeito aos termos e condicoes definidos
 * no arquivo 'LICENSE.txt, o qual e parte deste pacote de codigo fonte.
 *//* www.ja va2 s  .com*/


package com.vrs.reqdroid.util;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import com.vrs.reqdroid.R;
import com.vrs.reqdroid.dao.BDGerenciador;
import com.vrs.reqdroid.models.Dependencia;
import java.util.ArrayList;
import java.util.List;

/**
 * Classe responsavel por realizar operacoes relacionadas as dependencias.
 *
 * @author Vinicius Rodrigues Silva <vinicius.rodsilva@gmail.com>
 * @version 1.0
 */
public class DependenciasUtils extends Activity {

    /**
     * Carrega a lista de dependencias do banco de dados.
     *
     * @param context O contexto que sera utilizado
     * @param idProjeto O id do projeto
     * @return A lista de dependencias
     */
    public static ArrayList<Dependencia> carregaDependenciasBD(Context context, int idProjeto)
    {
        ArrayList<Dependencia> ids = (ArrayList<Dependencia>) BDGerenciador.getInstance(context).selectDependencias(idProjeto);
        ArrayList<Dependencia> numeros = new ArrayList<Dependencia>();

        //A lista de ID's retorna somente os ids dos requisitos. O importante no carregamento das dependencias e o numero
        //do requisito para a exibicao na tela.
        //Meio "inapropriado", eu sei. :-)
        for (int i = 0; i < ids.size(); i++)
        {
            int requisito1 = BDGerenciador.getInstance(context).selectNumeroRequisito(idProjeto, ids.get(i).getPrimeiroRequisito());
            int requisito2 = BDGerenciador.getInstance(context).selectNumeroRequisito(idProjeto, ids.get(i).getSegundoRequisito());
            Dependencia dependencia = new Dependencia(requisito1, requisito2);
            numeros.add(dependencia);
        }
        return numeros;
    }

    /**
     * Salva a dependencia no banco de dados do aplicativo.
     *
     * @param idProjeto O id do projeto a ser inserida a dependencia
     */
    public static void  salvaDependenciaBD(Context context, Dependencia dependencia, int idProjeto)
    {
        int idRequisito1 = BDGerenciador.getInstance(context).selectRequisitoPorNumero(idProjeto, dependencia.getPrimeiroRequisito());
        int idRequisito2 = BDGerenciador.getInstance(context).selectRequisitoPorNumero(idProjeto, dependencia.getSegundoRequisito());
        BDGerenciador.getInstance(context).insertDependencia(idProjeto, idRequisito1, idRequisito2);
    }

    /**
     * Remove a dependencia do banco de dados do aplicativo.
     *
     * @param context O contexto que sera utiliazdo
     * @param idProjeto O id do projeto
     * @param dependencia A dependencia a ser removida
     */
    public static void removeDependenciaBD(Context context, int idProjeto, Dependencia dependencia)
    {
        int idRequisito1 = BDGerenciador.getInstance(context).selectRequisitoPorNumero(idProjeto, dependencia.getPrimeiroRequisito());
        int idRequisito2 = BDGerenciador.getInstance(context).selectRequisitoPorNumero(idProjeto, dependencia.getSegundoRequisito());
        BDGerenciador.getInstance(context).deleteDependencia(idProjeto, idRequisito1, idRequisito2);
    }

    /**
     * Remove uma dependencia da lista.
     *
     * @param context O contexto que sera utilizado
     * @param dependencias A lista de dependencias
     * @param dependencia A dependencia a ser removida
     * @param posicao A posicao do requisito na lista
     * @param idProjeto O id do projeto
     * @param lvDependenciasAdapter O adapter da lista de dependencias
     */
    public static void removeDependencia(final Context context, final ArrayList<Dependencia> dependencias, final Dependencia dependencia,
                                         final int posicao, final int idProjeto, final ListViewDependenciasAdapter lvDependenciasAdapter)
    {
        AlertDialog.Builder alertBoxConfirmaExclusao = new AlertDialog.Builder(context);

        alertBoxConfirmaExclusao.setTitle(R.string.alert_remover_dependencia_titulo);
        alertBoxConfirmaExclusao.setMessage(R.string.alert_remover_dependencia_msg);

        alertBoxConfirmaExclusao.setPositiveButton(R.string.alert_sim, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                removeDependenciaBD(context, idProjeto, dependencia);
                dependencias.remove(posicao);
                lvDependenciasAdapter.notifyDataSetChanged();
            }
        });
        alertBoxConfirmaExclusao.setNegativeButton(R.string.alert_cancelar, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
            }
        });
        alertBoxConfirmaExclusao.show();
    }

    /**
     * Preenche os dois spinners (lista de selecao) da tela com os numeros do requisitos.
     */
    public static void preencheSpinners(Context context, Spinner primeiro, Spinner segundo, int idProjeto)
    {
        List<Integer> numerosRequisitos = BDGerenciador.getInstance(context).selectAllNumerosRequisitos(idProjeto);

        ArrayAdapter<Integer> arrayAdapter = new ArrayAdapter<Integer>(context, R.layout.item_spinner_dependencia, numerosRequisitos);
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item );
        primeiro.setAdapter(arrayAdapter);
        segundo.setAdapter(arrayAdapter);
    }

    /**
     * Verifica se os spinners possuem itens.
     *
     * @param s1 O primeiro spinner da tela de dependencias
     * @param s2 O segundo spinner da tela de dependencias
     * @return true se ambos os spinners possuem itens
     */
    public static boolean possuiItens(Spinner s1, Spinner s2)
    {
        return s1.getChildCount() > 0 && s2.getChildCount() > 0;
    }
}




Java Source Code List

com.vrs.reqdroid.activities.DrawerPrincipalActivity.java
com.vrs.reqdroid.activities.MainActivity.java
com.vrs.reqdroid.activities.TelaAbrirProjetoActivity.java
com.vrs.reqdroid.activities.TelaEditarEscopoActivity.java
com.vrs.reqdroid.activities.TelaEscopoActivity.java
com.vrs.reqdroid.activities.TelaHipoteseDetalhadaActivity.java
com.vrs.reqdroid.activities.TelaNovoProjetoActivity.java
com.vrs.reqdroid.activities.TelaPrincipalActivity.java
com.vrs.reqdroid.activities.TelaRequisitoAtrasadoDetalhadoActivity.java
com.vrs.reqdroid.activities.TelaRequisitoDetalhadoActivity.java
com.vrs.reqdroid.activities.TelaSobreActivity.java
com.vrs.reqdroid.dao.BDGerenciador.java
com.vrs.reqdroid.dao.IOperacoesBD.java
com.vrs.reqdroid.fragments.CaracteristicasUsuarioFragment.java
com.vrs.reqdroid.fragments.DependenciasFragment.java
com.vrs.reqdroid.fragments.HipotesesEDependenciasFragment.java
com.vrs.reqdroid.fragments.HipotesesFragment.java
com.vrs.reqdroid.fragments.ProjetosListFragment.java
com.vrs.reqdroid.fragments.RequisitosAtrasadosFragment.java
com.vrs.reqdroid.fragments.RequisitosFragment.java
com.vrs.reqdroid.models.Dependencia.java
com.vrs.reqdroid.models.Projeto.java
com.vrs.reqdroid.util.AlertsUtil.java
com.vrs.reqdroid.util.DependenciasUtils.java
com.vrs.reqdroid.util.DrawerPrincipalAdapter.java
com.vrs.reqdroid.util.HipotesesUtils.java
com.vrs.reqdroid.util.IRequisito.java
com.vrs.reqdroid.util.ListViewDependenciasAdapter.java
com.vrs.reqdroid.util.ListViewHipotesesAdapter.java
com.vrs.reqdroid.util.ListViewProjetosAdapter.java
com.vrs.reqdroid.util.ListViewRequisitosAdapter.java
com.vrs.reqdroid.util.ListViewRequisitosAtrasadosAdapter.java
com.vrs.reqdroid.util.ProjetoUtils.java
com.vrs.reqdroid.util.RequisitosAtrasadosUtils.java
com.vrs.reqdroid.util.RequisitosUtils.java