Package javax.jdo

Examples of javax.jdo.Query


      // First get the expired contracts that have not been archived yet
      // Get the prices and archive them
      query = "SELECT FROM " + Contract.class.getName() + " WHERE expiryDate>0 && archived==false ORDER BY expiryDate";
      print(query);
      PersistenceManager pm = PMF.get().getPersistenceManager();
      Query q = pm.newQuery(query);
      Queue queue = QueueFactory.getDefaultQueue();
      @SuppressWarnings("unchecked")
      List<Contract> results = (List<Contract>) q.execute();
      print("Putting in queue for processing " + results.size() + " contracts.");
      for (Contract c : results) {
        String contractid = c.getId();
        // print("Adding contract "+contractid+
        // " in the queue. Will not archive.");
        queue.add(Builder.withUrl("/processContractClosingPrices").param("contract", contractid).param("archive", "y")
            .param("time_threshold_minutes", threshold.toString()).method(TaskOptions.Method.GET));
        queue.add(Builder.withUrl("/processContractTrades").param("contract", contractid)
            .param("time_threshold_minutes", "1").method(TaskOptions.Method.GET));
      }
      pm.close();

      // Now get the remaining active contracts (that have not been
      // archived yet)
      // Do no archive yet.

      long now = (new Date()).getTime();
      query = "SELECT FROM " + Contract.class.getName() + " WHERE laststoredCSV<" + (now - Contract.time_threshold())
          + " && expiryDate==0 && archived==false  ORDER BY laststoredCSV";
      print(query);
      pm = PMF.get().getPersistenceManager();
      q = pm.newQuery(query);

      @SuppressWarnings("unchecked")
      List<Contract> results_remaining = (List<Contract>) q.execute();

      print("Putting in queue for processing " + results_remaining.size() + " contracts.");
      for (Contract c : results_remaining) {
        String contractid = c.getId();
        // print("Adding contract "+contractid+
View Full Code Here


   * Return user key
   * @return
   */
  private Key getUserKey(){
    if (this.userKey == null){
      Query q = getPersitence().newQuery(User.class);
      q.setFilter("id == email");
      q.declareParameters("String email");
      q.setUnique(true);
     
      User u = (User) q.execute(this.user);
      this.userKey = u.getKey();
     
    }
   
    return this.userKey;
View Full Code Here

    DataManager dm = DataManagerFactory.getInstance();
    PersistenceManager pm = dm.newPersistenceManager();

    // fetch user
    Query qUser = pm.newQuery(talkfeed.data.User.class);
    qUser.setFilter("id == param");
    qUser.declareParameters("String param");
    qUser.setUnique(true);
    qUser.setRange(0, 1);
    talkfeed.data.User talkfeedUser = (talkfeed.data.User) qUser
        .execute(TextTools.cleanJID(googleUser.getEmail()));

    mav.getModel().put("showInvitation", talkfeedUser == null);
    qUser.closeAll();

    List<Blog> blogs = new ArrayList<Blog>();

    if (talkfeedUser != null) {
      // key from user
      Key key = talkfeedUser.getKey();

      // list subscription
      Query qSub = pm.newQuery(Subscription.class);
      qSub.setFilter("userKey == bk");
      qSub.declareParameters("com.google.appengine.api.datastore.Key bk");

      @SuppressWarnings("unchecked")
      List<Subscription> subs = (List<Subscription>) qSub.execute(key);

      for (Subscription sub : subs) {
        try {
          Blog b = pm.getObjectById(Blog.class, sub.getBlogKey());

          blogs.add(b);

        } catch (JDOObjectNotFoundException ex) {
          // blog deleted ! bad !!
          pm.currentTransaction().begin();
          pm.deletePersistent(sub);
          pm.currentTransaction().commit();
          pm.flush();
          continue;
        }
      }
      mav.getModel().put("blogs", blogs);
      qSub.closeAll();

    }

    pm.close();
View Full Code Here

  public ModelAndView ajaxLastEntries(long blogId) {
    DataManager dm = DataManagerFactory.getInstance();
    PersistenceManager pm = dm.newPersistenceManager();

    // select subscriptions
    Query q = pm.newQuery(BlogEntry.class);
    q.setOrdering("pubDate desc");
    q.setRange(0, 15);

    q.setFilter("blogKey == bk");
    q.declareParameters("com.google.appengine.api.datastore.Key bk");

    List<BlogEntry> list = new ArrayList<BlogEntry>(15);

    Blog blog = pm.getObjectById(Blog.class, blogId);

    @SuppressWarnings("unchecked")
    Collection<BlogEntry> col = (Collection<BlogEntry>) q.execute(blog
        .getKey());

    for (BlogEntry be : col) {
      list.add(be);
    }
View Full Code Here

   
    DataManager dm = DataManagerFactory.getInstance();
    PersistenceManager pm = dm.newPersistenceManager();
   
    //find blogs where "nextUpdate" is before now, ordered by "nextUpdate" date
    Query q = pm.newQuery(Blog.class);
    q.setRange(0, nbMax);
    q.setFilter("nextUpdate <= date");
    q.declareParameters("java.util.Date date");
    q.setOrdering("nextUpdate");
   
    Date now = Calendar.getInstance().getTime();
   
    @SuppressWarnings("unchecked")
    List<Blog> blogs = (List<Blog>) q.execute(now);
   
    for(Blog blog : blogs){
      //add treatment to queue
      QueuedTask task = new QueuedTask();
      task.setType(TaskType.updateblog);
      task.addParam("id", blog.getKey().getId());
      QueuedTask.enqueue(task);
     
    }
   
    q.closeAll();
    pm.close();
  }
View Full Code Here

   
    DataManager dm = DataManagerFactory.getInstance();
   
    PersistenceManager pm = dm.newPersistenceManager();
   
    Query q = pm.newQuery(Blog.class);
   
    //fetch ALL blogs
    @SuppressWarnings("unchecked")
    List<Blog> allBlogs = (List<Blog>) q.execute();
   
    for(Blog b : allBlogs){
      //fetch sub
      Query sq = pm.newQuery(Subscription.class);
      sq.setFilter("blogKey == bk");
      sq.declareParameters("com.google.appengine.api.datastore.Key bk");
      sq.setRange(0, 1);
     
      @SuppressWarnings("unchecked")
      List<Subscription> ls = (List<Subscription>) sq.execute(b.getKey());
     
      if (ls.size() == 0){
        //delete blog without subscription
        pm.currentTransaction().begin();
        pm.deletePersistent(b);
View Full Code Here

   
    DataManager dm = DataManagerFactory.getInstance();
   
    PersistenceManager pm = dm.newPersistenceManager();
   
    Query q = pm.newQuery(BlogEntry.class);
    q.setFilter("creaDate < date");
    q.setRange(0,50);
    q.declareParameters("java.util.Date date");
   
    Calendar cdat = Calendar.getInstance();
    cdat.add(Calendar.DATE , -nbdays);
   
    //fetch ALL blogs
    @SuppressWarnings("unchecked")
    List<BlogEntry> oldest = (List<BlogEntry>) q.execute(cdat.getTime());
   
    for(BlogEntry be : oldest){
      pm.currentTransaction().begin();
      pm.deletePersistent(be);
      pm.currentTransaction().commit();
View Full Code Here

      c.set(Calendar.YEAR,1900);
      recentDate = c.getTime();
    }
   
    //query to find blog entry by GUID
    Query queryBlogEntry = pm.newQuery(BlogEntry.class);
    queryBlogEntry.setFilter("guid == g");
    queryBlogEntry.declareParameters("java.lang.String g");
    queryBlogEntry.setUnique(true);
   
    //compare item
    for(FeedItem item : chan.items()){
     
      //parse error
      if (item.getLink() == null) continue;
     
      //set creaDate
      Date pubDate = item.getPubDate();
      if (pubDate == null) pubDate = Calendar.getInstance().getTime();
     
      //date
      if(recentDate.after(pubDate)) continue;

      BlogEntry entry = (BlogEntry) queryBlogEntry.execute(item.getGuid());
     
      if (entry == null){
        //new item
        entry = new BlogEntry();
        entry.setBlogKey(blog.getKey());
        entry.setCreaDate(new Date());
        entry.setPubDate(pubDate);
        entry.setGuid(item.getGuid());
        entry.setLink(TextTools.limitText(item.getLink(),500));
        entry.setTitle(TextTools.limitText(item.getTitle(),500));
        entry.setBlogTitle(TextTools.limitText(chan.getTitle(),500));
        pm.makePersistent(entry);
        result.setUpdate(true);
        result.checkEntryDate(pubDate);
      }

      queryBlogEntry.close(entry);
    }
   
    queryBlogEntry.closeAll();
   
    return result;
  }
View Full Code Here

    PersistenceManager pm = DataManagerFactory.getInstance()
        .newPersistenceManager();


    // find user
    Query q = pm.newQuery(User.class);
    q.setFilter("nextUpdate <= next && paused == false && presence == 'available'");
    q.setOrdering("nextUpdate");
    q.declareParameters("java.util.Date next");
    q.setRange(0, nbMax);

    // list user
    List<User> list = (List<User>) q.execute(now);

    for (User user : list) {
      //build task for queuing
      QueuedTask task = new QueuedTask();
      task.setType(TaskType.updateuser);
      task.addParam("id", user.getKey().getId());
      QueuedTask.enqueue(task);


    }

    // end of process
    q.closeAll();
    pm.close();

  }
View Full Code Here

   
    if (isAvailable) {
      //user is present : do update !

      // select subscriptions
      Query q = this.currentManager.newQuery(Subscription.class);
      q.setOrdering("lastProcessDate");
      q.setRange(0, NB_SUBSCRIPTIONS_MAX);
      q.setFilter("userKey == uk");
      q.declareParameters("com.google.appengine.api.datastore.Key uk");

      @SuppressWarnings("unchecked")
      List<Subscription> subs = (List<Subscription>) q.execute(user
          .getKey());

      // update
      for (Subscription sub : subs) {
        // update is done ?
        boolean updateDone = false;

        // fetch blog
        Blog blog = (Blog) this.currentManager.getObjectById(
            Blog.class, sub.getBlogKey());

        // compare dates bet blog last entry and subscription update
        if (blog.getLatestEntry().after(sub.getLatestEntryNotifiedDate())) {
          Logger.getLogger("UserService").info(
              "user " + user.getId() + " present. Try notify : "
                  + blog.getTitle());

          // find next entry
          BlogEntry nextEntry = this.findNextEntry(sub);

          if (nextEntry == null) {
            // subscription is up to date
          } else {
            // notify user
            this.sendBlogEntry(jid, nextEntry);
            // set modification is done
            updateDone = true;
            // set current subscription mark to entry date
            sub.setLatestEntryNotifiedDate(nextEntry.getPubDate());
          }
        }

        // Update subscription process
        // last analyze date
        sub.setLastProcessDate(now);
        this.currentManager.currentTransaction().begin();
        this.currentManager.flush();
        this.currentManager.currentTransaction().commit();

        // break
        if (updateDone) {
          // update user
          user.setLastUpdate(now);
          user.setLastSubscriptionKey(sub.getKey());
          this.currentManager.currentTransaction().begin();
          this.currentManager.flush();
          this.currentManager.currentTransaction().commit();
          break;
        }else {
          //nothing to update
          Logger.getLogger("UserService").info(
              "user " + user.getId() + " present but nothing to update.");
        }

      }

      q.closeAll();

    } else {
      /*
       * removed for XMPP issues
      minuteNextUpdate = 30;
View Full Code Here

TOP

Related Classes of javax.jdo.Query

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.