Package org.atomojo.app.db

Examples of org.atomojo.app.db.Term


         }
      } catch (Exception ex) {
         throw new XMLException("Exception while getting ancestors.",ex);
      }
      try {
         Term hidden = feed.getDB().findTerm(Categorization.HIDDEN_TYPE_TERM);
         if (hidden==null) {
            hidden = feed.getDB().createTerm(Categorization.HIDDEN_TYPE_TERM);
         }
         Iterator<Feed> children = feed.getChildren();
         while (children.hasNext()) {
View Full Code Here


      text(constructor,dest,AtomResource.ID_NAME,getRequest().getResourceRef().toString());
      text(constructor,dest,AtomResource.UPDATED_NAME,AtomResource.toXSDDate(now));
      try {
         Iterator<Term> terms = app.getDB().getTerms();
         while (terms.hasNext()) {
            Term t = terms.next();
            dest.send(constructor.createElement(AtomResource.ENTRY_NAME));
            String termRef = termBase.toString()+t.getURI();
            text(constructor,dest,AtomResource.ID_NAME,termRef);
            text(constructor,dest,AtomResource.PUBLISHED_NAME,AtomResource.toXSDDate(now));
            text(constructor,dest,AtomResource.UPDATED_NAME,AtomResource.toXSDDate(now));
            text(constructor,dest,AtomResource.TITLE_NAME,"Term "+t.getURI());
            term(constructor,dest,Categorization.TERM_TYPE_TERM,null);
            term(constructor,dest,t.getURI(),null);
            link(constructor,dest,"related",termRef);
            dest.send(constructor.createElementEnd(AtomResource.ENTRY_NAME));
         }
      } catch (Exception ex) {
         throw new XMLException("Exception while getting terms.",ex);
View Full Code Here

      // Index the feed categories
      try {
         for (URI term : index.keySet()) {
            Object value = index.get(term);
            Term t = parent.getDB().createTerm(term);
            parent.categorize(t,value);
         }
      } catch (SQLException ex) {
         log.log(Level.SEVERE,"Cannot categorize entry due to SQL Exception.  Continuing...",ex);
      }
View Full Code Here

      FeedIndex index = AtomResource.indexFeed(log,top);
      try {
         feed.uncategorize();
         for (URI term : index.keySet()) {
            Object value = index.get(term);
            Term t = feed.getDB().createTerm(term);
            feed.categorize(t,value);
         }
      } catch (SQLException ex) {
         throw new AppException(Status.SERVER_ERROR_INTERNAL,"Cannot categorize entry due to SQL Exception.",ex);
      }
View Full Code Here

      }

      try {
         for (URI term : index.keySet()) {
            Object value = index.get(term);
            Term t = feed.getDB().createTerm(term);
            entry.categorize(t,value);
         }
      } catch (SQLException ex) {
         throw new AppException(Status.SERVER_ERROR_INTERNAL,"Cannot categorize entry due to SQL Exception.",ex);
      }
View Full Code Here

      try {
         EntryIndex index = AtomResource.indexEntry(log,top);
         entry.uncategorize();
         for (URI term : index.keySet()) {
            Object value = index.get(term);
            Term t = entry.getDB().createTerm(term);
            entry.categorize(t,value);
         }
      } catch (SQLException ex) {
         throw new AppException(Status.SERVER_ERROR_INTERNAL,"Cannot categorize entry due to SQL Exception.",ex);
      }
View Full Code Here

   protected void loadQueries()
      throws SQLException,IOException
   {
      getContext().getLogger().info("Reloading queries:");
      queries.clear();
      Term queryTerm = atomDB.findTerm(Categorization.QUERY_TERM);
      if (queryTerm==null) {
         queryTerm = atomDB.createTerm(Categorization.QUERY_TERM);
      }
      Term nameTerm = atomDB.findTerm(Categorization.QUERY_NAME_TERM);
      if (nameTerm==null) {
         nameTerm = atomDB.createTerm(Categorization.QUERY_NAME_TERM);
      }
      Term collectionTerm = atomDB.findTerm(Categorization.QUERY_USE_COLLECTION_TERM);
      if (collectionTerm==null) {
         collectionTerm = atomDB.createTerm(Categorization.QUERY_USE_COLLECTION_TERM);
      }
      Term mediaTypeTerm = atomDB.findTerm(Categorization.QUERY_MEDIA_TYPE_TERM);
      if (mediaTypeTerm==null) {
         mediaTypeTerm = atomDB.createTerm(Categorization.QUERY_MEDIA_TYPE_TERM);
      }
      loadedAt = System.currentTimeMillis();
      Iterator<TermInstance<Entry>> entries = atomDB.getEntriesByTerm(queryTerm);
View Full Code Here

      text(constructor,dest,AtomResource.ID_NAME,getRequest().getResourceRef().toString());
      dest.send(constructor.createCharacters("\n"));
      text(constructor,dest,AtomResource.UPDATED_NAME,AtomResource.toXSDDate(new Date()));
      term(constructor,dest,term,null);
      try {
         Term dbTerm = app.getDB().findTerm(term);
         if (dbTerm!=null) {
            Iterator<TermInstance<Feed>> feeds = app.getDB().getFeedsByTerm(dbTerm,value);
            while (feeds.hasNext()) {
               TermInstance<Feed> termValue = feeds.next();
               Feed feed = termValue.getTarget();
View Full Code Here

            for (Triple triple : query.getWhereClause().getClauses()) {
               if (triple==pivot) {
                  continue;
               }
               URI uri = ((TermRef)triple.getPredicate()).getTerm();
               Term term = db.findTerm(uri);
               Ref object = triple.getObject();
               if (object instanceof VariableRef) {
                  if (term!=null) {
                     bindings.put(((VariableRef)object).getName(),term);
                  }
               } else if (object instanceof LiteralRef) {
                  if (term==null) {
                     skip = true;
                  } else {
                     comparisons.add(new Value(term,((LiteralRef)object).getValue()));
                  }
               } else if (object instanceof NilRef) {
                  if (term==null) {
                     skip = true;
                  } else {
                     comparisons.add(new Value(term,Nil.getInstance()));
                  }
               }
            }
            listener.onStart();
            if (!skip) {
               Term term = db.findTerm(pivotTerm);
               if (term!=null) {
                  if (feedPivot) {
                     Iterator<TermInstance<Feed>> feeds = db.getFeedsByTerm(term,pivotValue);
                     while (feeds.hasNext()) {
                        TermInstance<Feed> termValue = feeds.next();
                        // need to compare if nil
                        if (pivotValue==Nil.getInstance() && termValue.getValue()!=Nil.getInstance()) {
                           continue;
                        }
                        Feed feed = termValue.getTarget();
                        Map<String,Object> variables = new TreeMap<String,Object>();
                        boolean ok = true;
                        // match values
                        for (Triple triple : query.getWhereClause().getClauses()) {
                           if (triple==pivot) {
                              continue;
                           }
                           for (Value value : comparisons) {
                              TermInstance<Feed> boundValue = feed.getTerm(value.term);
                              if (boundValue==null) {
                                 ok = false;
                                 break;
                              } else if (value.value==null && boundValue.getValue()!=null) {
                                 ok = false;
                                 break;
                              } else if (value.value!=null && !value.value.equals(boundValue.getValue())) {
                                 ok = false;
                                 break;
                              }
                           }
                           if (!ok) {
                              break;
                           }
                           for (String name : bindings.keySet()) {
                              Term t = bindings.get(name);
                              TermInstance<Feed> boundValue = feed.getTerm(t);
                              if (boundValue!=null && boundValue.getValue()!=null) {
                                 variables.put(name,boundValue.getValue());
                              }
                           }
                        }
                        // do filter
                        ok = ok ? filter(variables,query.getWhereClause().getFilterExpressions()) : false;
                        if (ok) {
                           listener.onFeed(feed);
                        }
                     }
                  }
                  if (entryPivot) {
                     // TODO: code is almost the same as feed
                     Iterator<TermInstance<Entry>> entries = db.getEntriesByTerm(term,pivotValue);
                     while (entries.hasNext()) {
                        TermInstance<Entry> termValue = entries.next();
                        // need to compare if nil
                        if (pivotValue==Nil.getInstance() && termValue.getValue()!=Nil.getInstance()) {
                           continue;
                        }
                        Entry entry = termValue.getTarget();
                        Map<String,Object> variables = new TreeMap<String,Object>();
                        boolean ok = true;
                        // match values
                        for (Triple triple : query.getWhereClause().getClauses()) {
                           if (triple==pivot) {
                              continue;
                           }
                           for (Value value : comparisons) {
                              TermInstance<Entry> boundValue = entry.getTerm(value.term);
                              if (boundValue==null) {
                                 ok = false;
                                 break;
                              } else if (value.value==null && boundValue.getValue()!=null) {
                                 ok = false;
                                 break;
                              } else if (value.value!=null && !value.value.equals(boundValue.getValue())) {
                                 ok = false;
                                 break;
                              }
                           }
                           if (!ok) {
                              break;
                           }
                           for (String name : bindings.keySet()) {
                              Term t = bindings.get(name);
                              TermInstance<Entry> boundValue = entry.getTerm(t);
                              if (boundValue!=null && boundValue.getValue()!=null) {
                                 variables.put(name,boundValue.getValue());
                              }
                           }
View Full Code Here

TOP

Related Classes of org.atomojo.app.db.Term

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.