Package com.proyecto.miniplan.server

Source Code of com.proyecto.miniplan.server.ProyectoServiceImpl

package com.proyecto.miniplan.server;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import javax.jdo.Query;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.proyecto.miniplan.client.ProyectoService;
import com.proyecto.miniplan.shared.ProyectoDTO;
import com.proyecto.miniplan.shared.TareaDTO;

public class ProyectoServiceImpl extends RemoteServiceServlet implements ProyectoService{

  private static final PersistenceManagerFactory PMF =
        JDOHelper.getPersistenceManagerFactory("transactions-optional");
 
  @Override
  public Long nuevoProyecto(String _usuario, String _nombre,
      String _descripcion) {
    // TODO Auto-generated method stub
    PersistenceManager pm = getPersistenceManager();
   
    Proyecto nuevo = new Proyecto(_usuario, _nombre, _descripcion);
      try {
        pm.makePersistent(nuevo);
      } finally {
        pm.close();
      }
      return nuevo.getID();
  }

  @Override
  public void eliminarProyecto(Long _id, String _usuario) {
    // TODO Auto-generated method stub
    PersistenceManager pm = getPersistenceManager();
    try {
          Query q = pm.newQuery(Proyecto.class);
          q.setFilter("id == proyParam");
          //q.setOrdering("id asc");
          q.declareParameters("Long proyParam");
          List<Proyecto> resultados = (List<Proyecto>) q.execute(_id);
         
          if (resultados.iterator().hasNext()) {
            for (Proyecto proy : resultados) {
                //deleteCount++;
              //if(_id == proy.getID())
                pm.deletePersistent(proy);
              //proyectosDTO.add(new ProyectoDTO(proy.getID(),proy.getUsuario(), proy.getNombre(),proy.getDescripcion(), false));
            }
            } else {
                // ... no results ...
            }
         

        } finally {
          pm.close();
        }
        PersistenceManager pm2 = getPersistenceManager();
        try {
            Query q = pm2.newQuery(Tarea.class);
            q.setFilter("proyecto == proyectoParam");
            //q.setOrdering("id asc");
            q.declareParameters("Long proyectoParam");
            List<Tarea> resultados = (List<Tarea>) q.execute(_id);
           
            if (resultados.iterator().hasNext()) {
              for (Tarea tar : resultados) {
                  //deleteCount++;
                  pm2.deletePersistent(tar);
                //tareasDTO.add(new TareaDTO(tar.getID(),tar.getProyecto(), tar.getNombre(), tar.getInicio(), tar.getFin(), tar.getDuracion()));
              }
              } else {
                  // ... no results ...
              }
           

          } finally {
            pm2.close();
          }
  }

  @Override
  public void actualizarProyecto(Long _id, String _usuario, String _nombre,
      String _descripcion) {
    // TODO Auto-generated method stub
   
  }

  @Override
  public ArrayList<ProyectoDTO> abrirProyectos(String _usuario) {
    // TODO Auto-generated method stub
    PersistenceManager pm = getPersistenceManager();
    ArrayList<ProyectoDTO> proyectosDTO = new ArrayList<ProyectoDTO>();
   
      try {
        Query q = pm.newQuery(Proyecto.class);
        q.setFilter("usuario == usuarioParam");
        //q.setOrdering("id asc");
        q.declareParameters("String usuarioParam");
        List<Proyecto> resultados = (List<Proyecto>) q.execute(_usuario);
       
        if (resultados.iterator().hasNext()) {
          for (Proyecto proy : resultados) {
              //deleteCount++;
            //  pm.deletePersistent(proyecto);
            proyectosDTO.add(new ProyectoDTO(proy.getID(),proy.getUsuario(), proy.getNombre(),proy.getDescripcion(), false));
          }
          } else {
              // ... no results ...
          }
       

      } finally {
        pm.close();
      }
    return proyectosDTO;
  }

  @Override
  public Long nuevaTarea(Long _proyecto, String _nombre, int _duracion,
      Date _inicio, Date _fin) {
    // TODO Auto-generated method stub
    PersistenceManager pm = getPersistenceManager();
    Tarea nueva = new Tarea(_proyecto, _nombre, _duracion, _inicio, _fin);
      try {
        pm.makePersistent(nueva);
      } finally {
        pm.close();
      }
      return nueva.getID();
  }

  @Override
  public void eliminarTarea(Long _id, String _proyecto) {
    // TODO Auto-generated method stub
    PersistenceManager pm = getPersistenceManager();
      try {
        long deleteCount = 0;
        Query q = pm.newQuery(Tarea.class, "proyecto == _proyecto");
        q.declareParameters("String _proyecto");
        List<Tarea> tareas = (List<Tarea>) q.execute(_proyecto);
        for (Tarea tarea : tareas) {
          if (_id.equals(tarea.getID())) {
            deleteCount++;
            pm.deletePersistent(tarea);
          }
        }
        if (deleteCount != 1) {
          //LOG.log(Level.WARNING, "removeStock deleted "+deleteCount+" Stocks");
        }
      } finally {
        pm.close();
      }
  }

  @Override
  public void actualizarTarea(Long _id, String _nombre, int _duracion,
      Date _inicio, Date _fin) {
    // TODO Auto-generated method stub
   
  }

  @Override
  public ArrayList<TareaDTO> abrirTarea(Long _proyecto) {
    // TODO Auto-generated method stub
    PersistenceManager pm = getPersistenceManager();
    ArrayList<TareaDTO> tareasDTO = new ArrayList<TareaDTO>();
   
      try {
        Query q = pm.newQuery(Tarea.class);
        q.setFilter("proyecto == proyectoParam");
        //q.setOrdering("id asc");
        q.declareParameters("Long proyectoParam");
        List<Tarea> resultados = (List<Tarea>) q.execute(_proyecto);
       
        if (resultados.iterator().hasNext()) {
          for (Tarea tar : resultados) {
              //deleteCount++;
            //  pm.deletePersistent(proyecto);
            tareasDTO.add(new TareaDTO(tar.getID(),tar.getProyecto(), tar.getNombre(), tar.getInicio(), tar.getFin(), tar.getDuracion()));
          }
          } else {
              // ... no results ...
          }
       

      } finally {
        pm.close();
      }
    return tareasDTO;
  }

  private PersistenceManager getPersistenceManager() {
      return PMF.getPersistenceManager();
  }
 
  public ProyectoDTO CvProyDTO(Proyecto original){
    ProyectoDTO nuevo = new ProyectoDTO(original.getID(),original.getUsuario(), original.getNombre(), original.getDescripcion(), false);
    return nuevo;
  }

  @Override
  public void guardarProyecto(Long _id, List<TareaDTO> _tareas) {
    List<TareaDTO> tars = new ArrayList<TareaDTO>();
    tars = _tareas;
    PersistenceManager pm = getPersistenceManager();
    // TODO Auto-generated method stub
    try {
          Query q = pm.newQuery(Tarea.class);
          q.setFilter("proyecto == proyectoParam");
          //q.setOrdering("id asc");
          q.declareParameters("Long proyectoParam");
          List<Tarea> resultados = (List<Tarea>) q.execute(_id);
         
          if (resultados.iterator().hasNext()) {
            for (Tarea tar : resultados) {
                //deleteCount++;
                pm.deletePersistent(tar);
              //tareasDTO.add(new TareaDTO(tar.getID(),tar.getProyecto(), tar.getNombre(), tar.getInicio(), tar.getFin(), tar.getDuracion()));
            }
            } else {
                // ... no results ...
            }
        } finally {
          pm.close();
        }
      //int i=0;
        PersistenceManager pmt = getPersistenceManager();
        try {
      if (tars.iterator().hasNext()) {
          for (TareaDTO tar : tars) {
        //nuevaTareaP(_id, tar.nombre, 0, tar.inicio, tar.fin);
        //Window.alert(nombre + " " + String.valueOf(duracion) + " " + String.valueOf(inicio) + " " + String.valueOf(fin));
       
          Tarea nueva = new Tarea(_id, tar.nombre, tar.duracion, tar.inicio, tar.fin);
              pmt.makePersistent(nueva);
             
          }
          } else {
              // ... no results ...
          }
        } finally {
            pmt.close();
          }
  }
 
  public void nuevaTareaP(Long _proyecto, String _nombre, int _duracion,
      Date _inicio, Date _fin) {
    // TODO Auto-generated method stub
    PersistenceManager pm = getPersistenceManager();
    Tarea nueva = new Tarea(_proyecto, _nombre, _duracion, _inicio, _fin);
      try {
        pm.makePersistent(nueva);
      } finally {
        pm.close();
      }
  }

  @Override
  public void actualizarNombreProyecto(Long _id, String _nombre) {
    PersistenceManager pm = getPersistenceManager();
    try {
          Query q = pm.newQuery(Proyecto.class);
          q.setFilter("id == proyParam");
          q.declareParameters("Long proyParam");
          List<Proyecto> resultados = (List<Proyecto>) q.execute(_id);
         
          if (resultados.iterator().hasNext()) {
            for (Proyecto proy : resultados) {
               
                proy.setNombre(_nombre);
               
             
            }
            } else {
                // ... no results ...
            }
         

        } finally {
          pm.close();
       
  }
 
 
  public void actualizarDescripcionProyecto(Long _id, String _descripcion) {
    PersistenceManager pm = getPersistenceManager();
    try {
          Query q = pm.newQuery(Proyecto.class);
          q.setFilter("id == proyParam");
          q.declareParameters("Long proyParam");
          List<Proyecto> resultados = (List<Proyecto>) q.execute(_id);
         
          if (resultados.iterator().hasNext()) {
            for (Proyecto proy : resultados) {
               
               
                proy.setDescripcion(_descripcion);
             
            }
            } else {
                // ... no results ...
            }
         

        } finally {
          pm.close();
       
  }
 
}
TOP

Related Classes of com.proyecto.miniplan.server.ProyectoServiceImpl

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.