Package javax.jdo

Examples of javax.jdo.PersistenceManager


  private static final long serialVersionUID = 6120246852958797435L;

  public static SpadgerUser findSpadgerUser(String id) {
    SpadgerUser user = null;
    PersistenceManager pm = PMF.get().getPersistenceManager();
    Transaction tx = pm.currentTransaction();
    try {
      tx.begin();
      user = pm.getObjectById(SpadgerUser.class, id);
    } catch (JDOObjectNotFoundException e) {
      user = new SpadgerUser();
      user.id = id;
      user.email = id;
      user = pm.makePersistent(user);
      user = pm.detachCopy(user);
    } finally {
      tx.commit();
      pm.close();
    }
    return user;
  }
View Full Code Here


    // then store it in the memory
    if (config == null) {
      LOGGER
          .debug("Unabled to obtain SpadgerConfig instance from cache, trying the datastore instead");

      PersistenceManager pm = PMF.get().getPersistenceManager();
      try {
        config = pm.getObjectById(SpadgerConfig.class,
            SpadgerConfig.UNIQUE_INSTANCE_KEY);

        LOGGER.debug("Placing the SpadgerConfig instance into memcache");

        cache.put(SpadgerConfig.UNIQUE_INSTANCE_KEY, config);
      } catch (JDOObjectNotFoundException e) {
        LOGGER
            .debug("SpadgerConfig instance not found, creating one instead...");

        config = new SpadgerConfig();
        pm.makePersistent(config);
        pm.close();

        LOGGER.info("SpadgerConfig instance created and persisted");
      }
    } else {
      LOGGER.debug("Found SpadgerConfig instance in memcache");
View Full Code Here

    }
   
    List<CommunityAccount> resultsFinal = new ArrayList<CommunityAccount>();
   

    PersistenceManager pm =null;
   
    try {
      pm = PMF.get().getPersistenceManager();
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy hh:mm");

       
         
          for (String user  : listIdUsers) {
          /// query
        Query query = pm.newQuery(DaoCommunityAccount2.class);
          query.setFilter("idUser == nameParam");
          query.setOrdering("name desc");
          query.setOrdering("dateCommunityAccount desc");
          query.setRange(0, range); //only 6 results
          //query.setOrdering("hireDate desc");
          query.declareParameters("String nameParam");
          List<DaoCommunityAccount2> resultsTmp = (List<DaoCommunityAccount2>) query.execute(user);
         
          if(resultsTmp.size() != 0 )
          {
            DaoCommunityAccount2 daoComAcc = resultsTmp.get(0);
            CommunityAccount comAcc=  TransformDtoObject.TransformDaoCommunityAccountToCommunityAccount(daoComAcc);
            String previousDate = "";
            for (DaoCommunityAccount2 myDaoCommunityAccount : resultsTmp ) {
              //si 2 dates identiques se suivent on ne prend la deuxième
              String dateCurrent = "";
              if (myDaoCommunityAccount.getDateCommunityAccount() != null) {
                dateCurrent = sdf.format(myDaoCommunityAccount.getDateCommunityAccount());
                if (!dateCurrent.equalsIgnoreCase(previousDate)) {
                  comAcc.listDates.add(dateCurrent);
                  comAcc.listbattles.add(myDaoCommunityAccount.getData().getStats().getBattles());
                 
                  comAcc.listBattlesWins.add(myDaoCommunityAccount.getData().getStats().getBattle_wins());
                  CommunityAccount comA=  TransformDtoObject.TransformDaoCommunityAccountToCommunityAccount(myDaoCommunityAccount);
                 
                  comAcc.listDataPlayerInfos.add(comA.getData());
                }
              }
              previousDate = dateCurrent;
            }
            resultsFinal.add(comAcc);
          }
          query.closeAll();
       
          }
    } catch (Exception e) {
     
      log.severe(e.getLocalizedMessage());
      log.log(Level.SEVERE, "exception :" , e);
      throw e;
    }
    finally {
      if(pm != null)
        pm.close();
    }
 
    return resultsFinal;
 
  }
View Full Code Here

    }
   
    Map<String, CommunityAccount> resultsFinal = new HashMap<String, CommunityAccount>();
   

    PersistenceManager pm =null;
   
    try {
      pm = PMF.get().getPersistenceManager();
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMdd hh:mm");

       
          try {
            for (String user  : listIdUsers) {
            /// query
          Query query = pm.newQuery(DaoCommunityAccount2.class);
            query.setFilter("idUser == nameParam");
            query.setOrdering("name desc");
            query.setOrdering("dateCommunityAccount desc");
            query.setRange(0, range); //only 6 results
            //query.setOrdering("hireDate desc");
            query.declareParameters("String nameParam");
            List<DaoCommunityAccount2> resultsTmp = (List<DaoCommunityAccount2>) query.execute(user);
           
            if(resultsTmp.size() != 0 )
            {
              DaoCommunityAccount2 daoComAcc = resultsTmp.get(0);
              CommunityAccount comAcc=  TransformDtoObject.TransformDaoCommunityAccountToCommunityAccount(daoComAcc);
              String previousDate = "";
              for (DaoCommunityAccount2 myDaoCommunityAccount : resultsTmp ) {
                //si 2 dates identiques se suivent on ne prend la deuxième
                String dateCurrent = "";
                if (myDaoCommunityAccount.getDateCommunityAccount() != null) {
                  dateCurrent = sdf.format(myDaoCommunityAccount.getDateCommunityAccount());
                  if (!dateCurrent.equalsIgnoreCase(previousDate)) {
                    comAcc.listDates.add(dateCurrent);
                    comAcc.listbattles.add(myDaoCommunityAccount.getData().getStats().getBattles());
                   
                    comAcc.listBattlesWins.add(myDaoCommunityAccount.getData().getStats().getBattle_wins());
                  }
                }
                previousDate = dateCurrent;
              }
              resultsFinal.put(user, comAcc);
            }
            query.closeAll();
         
            }
         
         
          }
        catch(Exception e){
          log.severe(e.getLocalizedMessage());
            //pm.currentTransaction().rollback();
          }
    } catch (Exception e) {
      e.printStackTrace();
      log.severe(e.getLocalizedMessage());
    }
    finally {
      if(pm != null)
        pm.close();
    }
 
    return resultsFinal;
 
  }
View Full Code Here

   
    log.warning("getHistorizedStatsTanksUsers for " + listIdUsers.size() + " users");
    List<CommunityAccount> resultsFinal = new ArrayList<CommunityAccount>();
   

    PersistenceManager pm =null;
   
    try {
      pm = PMF.get().getPersistenceManager();
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMdd hh:mm");

       
          try {
            for (String user  : listIdUsers) {
            /// query
          Query query = pm.newQuery(DaoCommunityAccount2.class);
            query.setFilter("idUser == nameParam");
            query.setOrdering("name desc");
            query.setOrdering("dateCommunityAccount desc");
            query.setRange(0, 6); //only 6 results
            //query.setOrdering("hireDate desc");
            query.declareParameters("String nameParam");
            List<DaoCommunityAccount2> resultsTmp = (List<DaoCommunityAccount2>) query.execute(user);
           
            if(resultsTmp.size() != 0 )
            {
              DaoCommunityAccount2 daoComAcc = resultsTmp.get(0);
              CommunityAccount comAcc=  TransformDtoObject.TransformDaoCommunityAccountToCommunityAccount(daoComAcc);
              String previousDate = "";
              for (DaoCommunityAccount2 myDaoCommunityAccount : resultsTmp ) {
                //si 2 dates identiques se suivent on ne prend la deuxième
                String dateCurrent = "";
                if (myDaoCommunityAccount.getDateCommunityAccount() != null) {
                  dateCurrent = sdf.format(myDaoCommunityAccount.getDateCommunityAccount());
                  if (!dateCurrent.equalsIgnoreCase(previousDate)) {
                    CommunityAccount comAccForList=  TransformDtoObject.TransformDaoCommunityAccountToCommunityAccount(myDaoCommunityAccount);
                    comAcc.listDates.add(dateCurrent);
                    //comAcc.listBattlesTanks.add(comAccForList.g);  //bug now !!!!
                   
                    //comAcc.listBattlesTanksWins.add(myDaoCommunityAccount.getData().getStatsVehicules().getBattle_wins());
                  }
                }
                previousDate = dateCurrent;
              }
              resultsFinal.add(comAcc);
            }
            query.closeAll();
         
            }
         
         
          }
        catch(Exception e){
          log.severe(e.getLocalizedMessage());
            //pm.currentTransaction().rollback();
          }
    } catch (Exception e) {
      e.printStackTrace();
      log.severe(e.getLocalizedMessage());
    }
    finally {
      if(pm != null)
        pm.close();
    }
 
    return resultsFinal;
 
  }
View Full Code Here

    userAgent = escapeHtml(userAgent);
   
    List<CommunityAccount> listCommunityAccount = new ArrayList<CommunityAccount>();
    AllCommunityAccount myAllCommunityAccount = new AllCommunityAccount ();
    myAllCommunityAccount.setListCommunityAccount(listCommunityAccount);
    PersistenceManager pm =null;
   
    try {
      pm = PMF.get().getPersistenceManager();
     
      String AllIdUser ="";
     
      for(String idUser :listIdUser) {
       
        log.warning("Request stat for user : " + hMapIdUserName.get(idUser));
       
        if("".equalsIgnoreCase(AllIdUser))
          AllIdUser =  idUser;
        else
          AllIdUser = AllIdUser + "," + idUser;
      }
     
 
           
      URL url = null ;

      //http://api.worldoftanks.eu/wot/account/info/?application_id=d0a293dc77667c9328783d489c8cef73&account_id=506486576
      String urlServer = urlServerEU +"/wot/account/info/?application_id=" + applicationIdEU + "&account_id=";
     
      if(lieu.equalsIgnoreCase("boulot")){ //on passe par 1 proxy
        url = new URL(proxy + urlServer + AllIdUser);
      }
      else {
        url = new URL(urlServer + AllIdUser);
      }
   
      HttpURLConnection conn2 = (HttpURLConnection)url.openConnection();
      conn2.setReadTimeout(20000);
      conn2.setConnectTimeout(20000);
      conn2.getInputStream();
      BufferedReader readerUser = new BufferedReader(new InputStreamReader(conn2.getInputStream()));

      //BufferedReader readerUser = new BufferedReader(new InputStreamReader(url.openStream()));
      String lineUser = "";
      ;
      String AllLinesUser = "";

      while ((lineUser = readerUser.readLine()) != null) {
        AllLinesUser = AllLinesUser + lineUser;
      }
      readerUser.close();

      Gson gsonUser = new Gson();
      PlayersInfos playersInfos = gsonUser.fromJson(AllLinesUser, PlayersInfos.class);
     
      //Transform playerRatings en communityAccount (pour utiliser des types compatibles avec la sérialisation (pas de MAP !!))
      List<CommunityAccount> listCommunityAccount1 =  TransformDtoObject.TransformPlayersInfosToListCommunityAccount(playersInfos);
     
      //////////////////////////////////
      // ==API encyclopédie des tanks - Pour obtenir le level des char (on doit calculier le tier moyen joué)
      // Dans les stats des joueurs nous avons le tank-id mais pas son level
     
      //on requete notre base les averageLevel y ont été stockés par le cron dans la table community Account
      Map <String, CommunityAccount> mapHistStatsUsers = getMapHistorizedStatsUsers(listIdUser, 6);
     
     
      //make some calculation of stats
      for(CommunityAccount communityAccount : listCommunityAccount1) {
        String user_id = communityAccount.getIdUser();
     
        //setData.
        CommunityAccount  histStatUser= mapHistStatsUsers.get(user_id);
       
        //calcul du tier moyen
        //Double nbBattles = 0.0;
        //Double levelByBattles = 0.0 ;
        //log.warning("histStatUser " + histStatUser);
        //log.warning("histStatUser.getData() " + histStatUser.getData());
        ///log.warning("commAcc.getData().getAverageLevel " + commAcc.getData().getAverageLevel);
       
        Double averageLevelTank =histStatUser.getData().getStatistics().getAllStatistics().getAverageLevelTankCalc();
        Double wn8 =histStatUser.getData().getStatistics().getAllStatistics().getWn8();
       
        DataPlayerInfos myDataCommunityAccountRatings = communityAccount.getData();
       
        //average level tank
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setAverageLevelTankCalc(averageLevelTank);
       
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setWn8(wn8);
       
        //== WR calculated
        int battles = myDataCommunityAccountRatings.getStatistics().getAllStatistics().getBattles();
        int battlesWin = myDataCommunityAccountRatings.getStatistics().getAllStatistics().getWins();
        Double wrCal = (double) ((double)battlesWin/(double)battles);
       
        //on ne conserve que 2 digits après la virgule
        wrCal = wrCal * 100; //ex : 51,844444
        int intWrCal = (int) (wrCal * 100); //ex : 5184
       
        wrCal = (double)intWrCal / 100 ; //ex : 51,84
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setBattle_avg_performanceCalc(wrCal);
       
        //== Ratio capture points calculated
        int ctfPoints = myDataCommunityAccountRatings.getStatistics().getAllStatistics().getCapture_points();
        Double ctfPointsCal = (double) ((double)ctfPoints/(double)battles);// 1,28 :1 = 1.28
       
        //on ne conserve que 2 digits après la virgule
        //ctfPointsCal = ctfPointsCal * 100; //ex : 1,2827
        int intCtfPointsCal = (int) (ctfPointsCal * 100); //ex intCtfPointsCal : 128,27 ctfPointsCal = 1.28
       
        ctfPointsCal = (double)intCtfPointsCal / 100 ; //ex ctfPointsCal : 1,28 intCtfPointsCal = 128
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setRatioCtfPoints(ctfPointsCal);
       
        //==Damage Ration calculated
        int damagePoints = myDataCommunityAccountRatings.getStatistics().getAllStatistics().getDamage_dealt();
        Double ratioDamagePoints = (double) ((double)damagePoints/(double)battles);
       
        //on ne conserve que 2 digits après la virgule
        //ctfPointsCal = ctfPointsCal * 100; //ex : 1,2827
        int intRatioDamagePoints = (int) (ratioDamagePoints * 100); //ex : 128,27
       
        ratioDamagePoints = (double)intRatioDamagePoints / 100 ; //ex : 1,28
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setRatioDamagePoints(ratioDamagePoints);
       
       
        //==Ratio Defense calculated
        int droppedCtfPoints = myDataCommunityAccountRatings.getStatistics().getAllStatistics().getDropped_capture_points();
        Double ratioDroppedCtfPoints = (double) ((double)droppedCtfPoints/(double)battles);
       
        //on ne conserve que 2 digits après la virgule
        //ctfPointsCal = ctfPointsCal * 100; //ex : 1,2827
        int intRatioDroppedCtfPoints = (int) (ratioDroppedCtfPoints * 100); //ex : 128,27
       
        ratioDroppedCtfPoints = (double)intRatioDroppedCtfPoints / 100 ; //ex : 1,28
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setRatioDroppedCtfPoints(ratioDroppedCtfPoints);
       
       
        //==Ratio Destroyed calculated
        int destroyedPoints = myDataCommunityAccountRatings.getStatistics().getAllStatistics().getFrags();
        Double ratiodestroyedPoints = (double) ((double)destroyedPoints/(double)battles);
       
        //on ne conserve que 2 digits après la virgule
        //ctfPointsCal = ctfPointsCal * 100; //ex : 1,2827
        int intRatiodestroyedPoints = (int) (ratiodestroyedPoints * 100); //ex : 128,27
       
        ratiodestroyedPoints = (double)intRatiodestroyedPoints / 100 ; //ex : 1,28
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setRatioDestroyedPoints(ratiodestroyedPoints);
       
        //==Ratio Detected calculated
        int detectedPoints = myDataCommunityAccountRatings.getStatistics().getAllStatistics().getSpotted();
        Double ratioDetectedPoints = (double) ((double)detectedPoints/(double)battles);
       
        //on ne conserve que 2 digits après la virgule
        //ctfPointsCal = ctfPointsCal * 100; //ex : 1,2827
        int intRatioDetectedPoints = (int) (ratioDetectedPoints * 100); //ex : 128,27
       
        ratioDetectedPoints = (double)intRatioDetectedPoints / 100 ; //ex : 1,28
        myDataCommunityAccountRatings.getStatistics().getAllStatistics().setRatioDetectedPoints(ratioDetectedPoints);
     
      }
      //add account
      listCommunityAccount.addAll(listCommunityAccount1);


    } catch (MalformedURLException e) {
      // ...
      e.printStackTrace();
    } catch (IOException e) {
      // ...
      e.printStackTrace();
    }
    finally {
      pm.close();
    }
 
    return myAllCommunityAccount;
 
  }
View Full Code Here

          //lecture de la composition du clan en base wotachievement et seulement une fois
          if (listMembersAdded == null ) {
            listMembersAdded = new ArrayList<String>();
            listMembersDeleted = new ArrayList<String>();

             PersistenceManager pm = null;
            pm = PMF.get().getPersistenceManager();
           
                try {
              Query query = pm.newQuery(DaoCommunityClan2.class);
                query.setFilter("idClan == nameParam");
                //query.setOrdering("name desc");
                query.setOrdering("dateCommunityClan desc");
                query.setRange(0, 30); //only 30 results
                //query.setOrdering("hireDate desc");
                query.declareParameters("String nameParam");
                List<DaoCommunityClan2> resultsTmp = (List<DaoCommunityClan2>) query.execute(clanId);
               
              //recup des membres des 30 derniers jours
                if(resultsTmp.size() >= )
                {      
                  for (DaoCommunityClan2 myDaoCommunityClan2 : resultsTmp) {
                   
                    if (myDaoCommunityClan2.getUserAdded() != null && !"".equalsIgnoreCase(myDaoCommunityClan2.getUserAdded()) )  {
                      listMembersAdded.add(myDaoCommunityClan2.getUserAdded());
                    }

                    if (myDaoCommunityClan2.getUserDeleted() != null && !"".equalsIgnoreCase(myDaoCommunityClan2.getUserDeleted()) )  {
                      listMembersDeleted.add(myDaoCommunityClan2.getUserDeleted());
                    }
                  }
                }
                }
              catch(Exception e){
                e.printStackTrace();
                log.log(Level.SEVERE, "Exception while quering  DaoCommunityClan2", e);
                  pm.currentTransaction().rollback();
                }
          }
         
         
          //build a HTML result
View Full Code Here

          if (true ) {
            listMembersAdded = new ArrayList<String>();
            listMembersDeleted = new ArrayList<String>();
            hmMembersWn8Added = new HashMap<String, String>();
           
             PersistenceManager pm = null;
            pm = PMF.get().getPersistenceManager();
           
                try {
              Query query = pm.newQuery(DaoRecruistation.class);
                //query.setFilter("idClan == nameParam");
                //query.setOrdering("name desc");
                query.setOrdering("date desc");
                query.setRange(0, Long.valueOf(nbSave)); //only nbJours results
                //query.setOrdering("hireDate desc");
                //query.declareParameters("String nameParam");
                List<DaoRecruistation> resultsTmp = (List<DaoRecruistation>) query.execute();
               
              //recup des membres des nbJours derniers jours
                if(resultsTmp.size() >= )
                {      
                  //on prend le premier et le dernier jour
                  int size = resultsTmp.size();
                 
                  //Rechercher la sauvegarde du jour d'avant j-1
                   Calendar mydate = Calendar.getInstance();
                  log.warning("Date of the day :" + mydate.get(Calendar.DAY_OF_MONTH)+"."+mydate.get(Calendar.MONTH)+"."+mydate.get(Calendar.YEAR));
                  Date dateToday = mydate.getTime();
                   
                  DaoRecruistation jLastDaoRecruistation =  resultsTmp.get(0); //le dernier jour sauvegardé 
                  DaoRecruistation jFirstDaoRecruistation =  resultsTmp.get(size-1); //le premier jour sauvegardé
                 
                  //si on veut toutes les dernieres sauvegarde de la journée
                  //on recherche la sauvegarde vieille de 1 jour
                  if(paramFrom.equalsIgnoreCase("lastDay")) {
                    //milliseconds for one day
                    // 1000 * 1s * 60s * 60mn * 24
                    long milliSecondsDay = 1000 *60 * 60 * 24 ;
                   
                    for (DaoRecruistation dao : resultsTmp) {
                     
                      long timeDateDao = dao.getDate().getTime() ;
                      mydate.setTime(dao.getDate());
                      log.warning(mydate.get( + Calendar.DAY_OF_MONTH)+ "/"+mydate.get(Calendar.MONTH)+"/"+mydate.get(Calendar.YEAR) + " " + mydate.get(Calendar.HOUR) + ":" + mydate.get(Calendar.MINUTE)) ;
                      //trouver l'enregistrement du jour d'avant
                      if (timeDateDao <= (dateToday.getTime() - milliSecondsDay) ) {
                        jFirstDaoRecruistation = dao;
                        break ;
                      }
                    }
                  }
                 
                 
                  //recup des users du bureau de Recrutement  
                  String jLastUsers =  jLastDaoRecruistation.getUsers().getValue();
                  String jFirstUsers =  jFirstDaoRecruistation.getUsers().getValue();
                  log.warning("========lancement ReadPersistPlayersRecruistation ============== jLastUsers"  + jLastUsers);
                  log.warning("========lancement ReadPersistPlayersRecruistation ============== jFirstUsers"  + jFirstUsers);
                  //on split la chaine users en tableau
                  String tabJLastUsers[] = jLastUsers.split(",");
                  String tabJFirstUsers[] = jFirstUsers.split(",");
                 
                  //convertir des tableau en liste
                  List<String> listJlastUsers = Arrays.asList(tabJLastUsers); //dernier jour (+ recent )
                  List<String> listJFirstUsers = Arrays.asList(tabJFirstUsers); //premier jour (+ ancien)
                 
                  //nouvelles recrues
                  for (String jLastuser : listJlastUsers) {
                   
                    //si la liste du jour plus ancien ne contient le nom de joueur de la liste recent c'est une nouvelle recrue
                    if (jLastuser != null && !"".equalsIgnoreCase(jLastuser) &&  !"Joueur".equalsIgnoreCase(jLastuser) && !listJFirstUsers.contains(jLastuser))
                    {
                      listMembersAdded.add(jLastuser);
                    }
                  }
                 
                  //départ recrues
                  for (String jFirstUser : listJFirstUsers) {
                   
                    //si la liste du jour plus ancien ne contient le nom de joueur de la liste recent c'est une nouvelle recrue
                    if (jFirstUser != null && !"".equalsIgnoreCase(jFirstUser) &&  !"Joueur".equalsIgnoreCase(jFirstUser) && !listJlastUsers.contains(jFirstUser))
                    {
                      listMembersDeleted.add(jFirstUser);
                    }
                  }
                  //format date
                  //long timeDate = jLastDaoRecruistation.getDate().getTime() ;
                mydate.setTime(jLastDaoRecruistation.getDate());
                dateLastUpdate = mydate.get( + Calendar.DAY_OF_MONTH)+ "/"+mydate.get(Calendar.MONTH)+"/"+mydate.get(Calendar.YEAR) + " " + mydate.get(Calendar.HOUR_OF_DAY) + ":" + mydate.get(Calendar.MINUTE) ;
               
                mydate.setTime(jFirstDaoRecruistation.getDate());
                dateFirstUpdate = mydate.get( + Calendar.DAY_OF_MONTH)+ "/"+mydate.get(Calendar.MONTH)+"/"+mydate.get(Calendar.YEAR) + " " + mydate.get(Calendar.HOUR_OF_DAY) + ":" + mydate.get(Calendar.MINUTE) ;
               
  
                 
                }else {
                  log.warning("========lancement ReadPersistPlayersRecruistation ============== no result " );
                }
                }
              catch(Exception e){
                e.printStackTrace();
                log.log(Level.SEVERE, "Exception while quering  DaoRecruistation", e);
                  pm.currentTransaction().rollback();
                }
          }
         
         
          //build a HTML result
View Full Code Here

     */
  public void cronDeleteSomeStats(Date date, int nb) {
     
      log.warning("========lancement cronDeleteSomeStats : " +  date + ":" + nb + " :============== " );
     
      PersistenceManager pm =null;
      pm = PMF.get().getPersistenceManager();
      try {
        //some cleaning in stats
        Query query = pm.newQuery(DaoCommunityAccount2.class);
          query.setOrdering("dateCommunityAccount asc");
          query.setRange(0, nb); //only nb results
          List<DaoCommunityAccount2> resultsTmp = (List<DaoCommunityAccount2>) query.execute();
         
          try {
             if (!resultsTmp.isEmpty()) {
                  for (DaoCommunityAccount2 myDaoCommunityAccount2 : resultsTmp) {
                    pm.currentTransaction().begin();
                    //
                    //log.warning(myDaoCommunityAccount2.getDateCommunityAccount().toString());
                    //
                    if (myDaoCommunityAccount2.getData() != null && myDaoCommunityAccount2.getData().getStats() != null) {
                      pm.deletePersistent(myDaoCommunityAccount2.getData().getStats());
                      pm.deletePersistent(myDaoCommunityAccount2.getData());
                    }
                    pm.deletePersistent(myDaoCommunityAccount2);
                    pm.currentTransaction().commit();
                  }
             }
            }
          catch(Exception e){
            e.printStackTrace();
            log.log(Level.SEVERE, "Exception while deleting daoCommunityAccount", e);
              pm.currentTransaction().rollback();
            }
         
          //DaoDataCommunityAccountStatsVehicules - On peut tout supprimer
          query = pm.newQuery(DaoDataCommunityAccountStatsVehicules.class);
          query.setRange(0, nb); //only nb results
          List<DaoDataCommunityAccountStatsVehicules> resultsVeh = (List<DaoDataCommunityAccountStatsVehicules>) query.execute();
         
          try {
             if (!resultsVeh.isEmpty()) {
                  for (DaoDataCommunityAccountStatsVehicules myDao : resultsVeh) {
                    pm.currentTransaction().begin();
                    //
                    //log.warning(myDao.getName());
                    //
                    pm.deletePersistent(myDao);
                    pm.currentTransaction().commit();
                  }
             }
            }
          catch(Exception e){
            e.printStackTrace();
            log.log(Level.SEVERE, "Exception while deleting DaoDataCommunityAccountStatsVehicules", e);
              pm.currentTransaction().rollback();
            }
         
         
      }  catch (Exception e) {
          // ...
        e.printStackTrace();
        log.throwing("Delete stats", "", e);
        log.severe("Exception " + e.getLocalizedMessage());
         StackTraceElement[] stack = e.getStackTrace();
         for (StackTraceElement st : stack) {
           log.severe(st.getMethodName()+":"+st.getLineNumber());
         }
      }
      finally {
        if (pm != null)
          pm.close();
      }
    }
View Full Code Here

      log.warning("========lancement readPersistAllStats : " +  date + ":" + idClan + ":"+ userName + " :============== " );
     
      List<CommunityAccount> listCommunityAccount = new ArrayList<CommunityAccount>();
      AllCommunityAccount myAllCommunityAccount = new AllCommunityAccount ();
      myAllCommunityAccount.setListCommunityAccount(listCommunityAccount);
      PersistenceManager pm =null;
      pm = PMF.get().getPersistenceManager();
      List<String> listIdUser = new ArrayList<String>();
      //List<DataPlayerInfos> listPlayerInfos = null;
     
      List<CommunityAccount> resultsFinal = new ArrayList<CommunityAccount>();
     
      try {
       
        //construction de la liste des id des joueurs du clan (s�parateur la ,) 
        String idUser = generateAllIdUsers(idClan, userName, date);System.out.println(date);
        if (idUser != null ){
         
            pm = PMF.get().getPersistenceManager();
              java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMdd hh:mm");
             
                try {
                 
                  /// query
                Query query = pm.newQuery(DaoCommunityAccount2.class);
                  query.setFilter("idUser == nameParam");
                  query.setOrdering("name desc");
                  query.setOrdering("dateCommunityAccount desc");
                  query.setRange(0, 2); //only 2 results
                  //query.setOrdering("hireDate desc");
                  query.declareParameters("String nameParam");
                  List<DaoCommunityAccount2> resultsTmp = (List<DaoCommunityAccount2>) query.execute(idUser);
                 
                  if(resultsTmp.size() >= )
                  {
                    for (DaoCommunityAccount2 myDaoCommunityAccount : resultsTmp ) {
                      //DaoCommunityAccount2 daoComAcc = resultsTmp.get(0);
                      CommunityAccount comAcc=  TransformDtoObject.TransformDaoCommunityAccountToCommunityAccount(myDaoCommunityAccount);
                      String previousDate = "";
                   
                      //si 2 dates identiques se suivent on ne prend la deuxième
                      String dateCurrent = "";
                      if (myDaoCommunityAccount.getDateCommunityAccount() != null) {
                        dateCurrent = sdf.format(myDaoCommunityAccount.getDateCommunityAccount());
                        if (!dateCurrent.equalsIgnoreCase(previousDate)) {
                          comAcc.listDates.add(dateCurrent);
                          comAcc.listbattles.add(myDaoCommunityAccount.getData().getStats().getBattles());
                         
                          comAcc.listBattlesWins.add(myDaoCommunityAccount.getData().getStats().getBattle_wins());
                        }
                      }
                      previousDate = dateCurrent;
                      resultsFinal.add(comAcc);
                    }
                   
                  }
                  query.closeAll();
                }
              catch(Exception e){
                log.severe(e.getLocalizedMessage());
                  //pm.currentTransaction().rollback();
                }
        }

 
      }  catch (Exception e) {
          // ...
        e.printStackTrace();
        log.throwing("Persist stats", "", e);
        log.severe("Exception " + e.getLocalizedMessage());
         StackTraceElement[] stack = e.getStackTrace();
//         for (StackTraceElement st : stack) {
//           log.severe(st.getMethodName()+":"+st.getLineNumber());
//          
//          
//         }
        
        //e.printStackTrace();
      }
      finally {
        if (pm != null)
          pm.close();
      }
   
      return resultsFinal;
   
    }
View Full Code Here

TOP

Related Classes of javax.jdo.PersistenceManager

Copyright © 2018 www.massapicom. 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.