• Views
  • Iteration Report
  • My Iteration Report
  •  
OMERO.server
  • Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • ← Previous Changeset
  • Next Changeset →

Changeset 2577

Show
Ignore:
Timestamp:
07/01/08 20:37:56 (5 months ago)
Author:
jmoore
Message:

ticket:1018 - Using reworked GetImagesQD to pass proper info via interval

Files:
1 modified

  • trunk/components/server/src/ome/services/query/PojosGetImagesByOptionsQueryDefinition.java (modified) (2 diffs)

Legend:

Unmodified
Added
Removed
  • trunk/components/server/src/ome/services/query/PojosGetImagesByOptionsQueryDefinition.java

    r2016 r2577  
    1414import ome.model.core.Image; 
    1515import ome.parameters.Parameters; 
     16import ome.tools.hibernate.QueryBuilder; 
    1617import ome.util.builders.PojoOptions; 
    1718 
    18 import org.hibernate.Criteria; 
    1919import org.hibernate.HibernateException; 
    2020import org.hibernate.Session; 
    21 import org.hibernate.criterion.Restrictions; 
    2221 
    2322public class PojosGetImagesByOptionsQueryDefinition extends Query { 
    … …  
    3231    protected void buildQuery(Session session) throws HibernateException, 
    3332            SQLException { 
    34         Criteria c = session.createCriteria(Image.class); 
    35         c.createAlias("details.creationEvent", "create"); 
    36         c.createAlias("details.updateEvent", "update"); 
    37         c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 
    3833 
    39         Criteria pix = c.createCriteria("pixels", LEFT_JOIN); 
    40         pix.createCriteria("pixelsType", LEFT_JOIN); 
    41         pix.createCriteria("pixelsDimensions", LEFT_JOIN); 
     34        // TODO copied from PojosGetImagesQueryDefinition. Should be merged. 
     35        QueryBuilder qb = new QueryBuilder(256); 
     36        qb.select("img"); 
     37        qb.from("Image", "img"); 
     38        qb.join("img.details.creationEvent", "ce", true, true); 
     39        qb.join("img.details.updateEvent", "ue", true, true); 
     40        qb.join("img.pixels", "pix", true, true); 
     41        qb.join("pix.pixelsType", "pt", true, true); 
     42        qb.join("pix.pixelsDimensions", "pd", true, true); 
     43        qb.join("img.annotationLinksCountPerOwner", "i_c_ann", true, true); 
     44        // qb.join("img.datasetLinksCountPerOwner", "i_c_ds", true, true); 
     45 
     46        qb.where(); 
    4247 
    4348        // if PojoOptions sets START_TIME and/or END_TIME 
    4449        if (check(OPTIONS)) { 
    4550            PojoOptions po = new PojoOptions((Map) value(OPTIONS)); 
    46  
    4751            if (po.getStartTime() != null) { 
    48                 c.add(Restrictions.gt("create.time", po.getStartTime())); 
     52                qb.and("img.details.creationEvent.time > :starttime"); 
     53                qb.param("starttime", po.getStartTime()); 
    4954            } 
    5055            if (po.getEndTime() != null) { 
    51                 c.add(Restrictions.lt("create.time", po.getEndTime())); 
     56                qb.and("img.details.creationEvent.time < :endtime"); 
     57                qb.param("endtime", po.getEndTime()); 
    5258            } 
    5359        } 
    5460 
    55         setCriteria(c); 
     61        setQuery(qb.query(session)); 
    5662    } 
    5763 

Download in other formats:

  • Unified Diff
  • Zip Archive

Trac Powered

Powered by Trac 0.11
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/