Changeset 16282

Show
Ignore:
Timestamp:
24/07/08 11:16:35 (4 months ago)
Author:
julie
Message:

update more widgets to use new pathquery methods. Refs #1733

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/flymine/webapp/src/org/flymine/web/widget/BDGPURLQuery.java

    r15993 r16282  
    1313import java.util.ArrayList; 
    1414import java.util.Collection; 
    15 import java.util.List; 
    1615 
    1716import org.intermine.metadata.Model; 
    1817import org.intermine.model.InterMineObject; 
    1918import org.intermine.objectstore.ObjectStore; 
    20 import org.intermine.objectstore.query.ConstraintOp; 
    21 import org.intermine.path.Path; 
    22 import org.intermine.pathquery.Constraint; 
    23 import org.intermine.pathquery.OrderBy; 
    24 import org.intermine.pathquery.PathNode; 
    2519import org.intermine.pathquery.PathQuery; 
    2620import org.intermine.web.logic.bag.InterMineBag; 
     21import org.intermine.web.logic.query.Constraints; 
    2722import org.intermine.web.logic.widget.WidgetURLQuery; 
    2823 
     
    3328{ 
    3429 
    35     InterMineBag bag; 
    36     String key; 
    37     ObjectStore os; 
     30    private InterMineBag bag; 
     31    private String key; 
     32    private ObjectStore os; 
     33    private static final String DATASET = "BDGP in situ data set"; 
    3834 
    3935    /** 
     
    5652        PathQuery q = new PathQuery(model); 
    5753 
    58         List<Path> view = new ArrayList<Path>(); 
     54        String viewStrings = "Gene.secondaryIdentifier,Gene.name,Gene.organism.name," 
     55            + "Gene.primaryIdentifier"; 
    5956 
    60         Path secondaryIdentifier = PathQuery.makePath(model, q, "Gene.secondaryIdentifier"); 
    61         Path name = PathQuery.makePath(model, q, "Gene.name"); 
    62         Path organism = PathQuery.makePath(model, q, "Gene.organism.name"); 
    63         Path primaryIdentifier = PathQuery.makePath(model, q, "Gene.primaryIdentifier"); 
    64         Path stage  =  PathQuery.makePath(model, q, "Gene.mRNAExpressionResults.stageRange"); 
    65         Path dataset = PathQuery.makePath(model, q, "Gene.mRNAExpressionResults.dataSet.title"); 
    66         Path term =  PathQuery.makePath(model, q, 
    67                                          "Gene.mRNAExpressionResults.mRNAExpressionTerms.name"); 
     57        String expressionStrings = "Gene.mRNAExpressionResults.stageRange," 
     58            + "Gene.mRNAExpressionResults.mRNAExpressionTerms.name," 
     59            + "Gene.mRNAExpressionResults.dataSet.title"; 
    6860 
     61        q.setView(viewStrings); 
     62        if (keys == null) { 
     63            q.addView(expressionStrings); 
     64        } 
    6965        String bagType = bag.getType(); 
    70  
    71         ConstraintOp constraintOp = ConstraintOp.IN; 
    72         String constraintValue = bag.getName(); 
    73         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    74         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    75         q.addNode(bagType).getConstraints().add(c); 
    76  
     66        q.addConstraint(bagType,  Constraints.in(bag.getName())); 
    7767        if (keys != null) { 
    78             code = q.getUnusedConstraintCode(); 
    79             constraintOp = ConstraintOp.NOT_IN; 
    80             c = new Constraint(constraintOp, keys, false, label, code, id, null); 
    81             q.getNode(bagType).getConstraints().add(c); 
     68            q.addConstraint(bagType,  Constraints.notIn(new ArrayList(keys))); 
    8269            q.setConstraintLogic("A and B"); 
    8370        } else { 
    84             constraintOp = ConstraintOp.LOOKUP; 
    85             code = q.getUnusedConstraintCode(); 
    86             PathNode nameNode = q.addNode("Gene.mRNAExpressionResults.mRNAExpressionTerms"); 
    87             nameNode.getConstraints().add(new Constraint(constraintOp, key, false, label, 
    88                                                          code, id, null)); 
    89  
    90             constraintOp = ConstraintOp.EQUALS; 
    91             code = q.getUnusedConstraintCode(); 
    92             PathNode expressedNode = q.addNode("Gene.mRNAExpressionResults.expressed"); 
    93             expressedNode.getConstraints().add(new Constraint(constraintOp, Boolean.TRUE, 
    94                                                               false, label, code, id, null)); 
    95  
    96             constraintOp = ConstraintOp.EQUALS; 
    97             code = q.getUnusedConstraintCode(); 
    98             PathNode datasetNode = q.addNode("Gene.mRNAExpressionResults.dataSet.title"); 
    99             datasetNode.getConstraints().add(new Constraint(constraintOp, "BDGP in situ data set", 
    100                                                             false, label, code, id, null)); 
     71            q.addConstraint("Gene.mRNAExpressionResults.mRNAExpressionTerms", 
     72                            Constraints.lookup(key)); 
     73            q.addConstraint("Gene.mRNAExpressionResults.expressed", Constraints.eq(Boolean.TRUE)); 
     74            q.addConstraint("Gene.mRNAExpressionResults.dataSet.title", Constraints.eq(DATASET)); 
    10175            q.setConstraintLogic("A and B and C and D"); 
    10276        } 
    103  
    104  
    105         view.add(primaryIdentifier); 
    106         view.add(secondaryIdentifier); 
    107         view.add(name); 
    108         view.add(organism); 
    109  
     77        q.syncLogicExpression("and"); 
    11078        if (keys == null) { 
    111             view.add(stage); 
    112             view.add(term); 
    113             view.add(dataset); 
     79            q.setOrderBy(expressionStrings); 
     80        } else { 
     81            q.setOrderBy("Gene.primaryIdentifier"); 
    11482        } 
    115  
    116         q.setViewPaths(view); 
    117         q.syncLogicExpression("and"); 
    118  
    119         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    120         if (keys == null) { 
    121             sortOrder.add(new OrderBy(term)); 
    122             sortOrder.add(new OrderBy(primaryIdentifier)); 
    123             sortOrder.add(new OrderBy(stage)); 
    124         } else { 
    125             sortOrder.add(new OrderBy(primaryIdentifier)); 
    126         } 
    127         q.setSortOrder(sortOrder); 
    128  
    12983        return q; 
    13084    } 
  • trunk/flymine/webapp/src/org/flymine/web/widget/FlyAtlasGraphURLGenerator.java

    r16275 r16282  
    7272        PathQuery q = new PathQuery(model); 
    7373 
    74         q.setView("FlyAtlasResult.genes.secondaryIdentifier, FlyAtlasResult.genes.primaryIdentifier" 
    75                   + ",FlyAtlasResult.genes.name,FlyAtlasResult.genes.organism.name," 
    76                   + "FlyAtlasResult.assays.name,FlyAtlasResult.enrichment,FlyAtlasResult.affyCall," 
    77                   + "FlyAtlasResult.mRNASignal,FlyAtlasResult.mRNASignalSEM," 
    78                   + "FlyAtlasResult.presentCall"); 
     74        q.setView("FlyAtlasResult.genes.secondaryIdentifier, " 
     75                  + "FlyAtlasResult.genes.primaryIdentifier," 
     76                  + "FlyAtlasResult.genes.name," 
     77                  + "FlyAtlasResult.genes.organism.name," 
     78                  + "FlyAtlasResult.assays.name," 
     79                  + "FlyAtlasResult.enrichment," 
     80                  + "FlyAtlasResult.affyCall,FlyAtlasResult.mRNASignal," 
     81                  + "FlyAtlasResult.mRNASignalSEM,FlyAtlasResult.presentCall"); 
    7982 
    80         q.addConstraint("Gene",  Constraints.in(bag.getName())); 
     83        q.addConstraint("FlyAtlasResult.genes",  Constraints.in(bag.getName())); 
    8184        q.addConstraint("FlyAtlasResult.affyCall",  Constraints.eq(series)); 
    8285        q.addConstraint("FlyAtlasResult.assays.name",  Constraints.eq(category)); 
  • trunk/flymine/webapp/src/org/flymine/web/widget/ProteinDomainURLQuery.java

    r15993 r16282  
    1313import java.util.ArrayList; 
    1414import java.util.Collection; 
    15 import java.util.List; 
    1615 
    1716import org.intermine.metadata.Model; 
    1817import org.intermine.model.InterMineObject; 
    1918import org.intermine.objectstore.ObjectStore; 
    20 import org.intermine.objectstore.query.ConstraintOp; 
    21 import org.intermine.path.Path; 
    22 import org.intermine.pathquery.Constraint; 
    23 import org.intermine.pathquery.OrderBy; 
    24 import org.intermine.pathquery.PathNode; 
    2519import org.intermine.pathquery.PathQuery; 
    2620import org.intermine.web.logic.bag.InterMineBag; 
     21import org.intermine.web.logic.query.Constraints; 
    2722import org.intermine.web.logic.widget.WidgetURLQuery; 
    2823 
     
    5651        Model model = os.getModel(); 
    5752        PathQuery q = new PathQuery(model); 
    58  
    59         List<Path> view = new ArrayList<Path>(); 
    6053        String bagType = bag.getType(); 
    6154 
    62         Path primaryIdentifier = null, primaryAccession = null; 
    63         Path organism = null, domainIdentifier = null, domainName = null; 
    64         Path geneIdentifier = null, secondaryIdentifier = null; 
     55        String viewStrings = ""; 
     56        String domainStrings = ""; 
    6557 
    6658        if (bagType.equals("Gene")) { 
    67  
    68             primaryIdentifier = PathQuery.makePath(model, q, "Gene.proteins.primaryIdentifier"); 
    69             primaryAccession = PathQuery.makePath(model, q, "Gene.proteins.primaryAccession"); 
    70             organism = PathQuery.makePath(model, q, "Gene.proteins.organism.name"); 
    71             geneIdentifier = PathQuery.makePath(model, q, "Gene.primaryIdentifier"); 
    72             secondaryIdentifier = PathQuery.makePath(model, q, "Gene.secondaryIdentifier"); 
    73             domainIdentifier 
    74             =  PathQuery.makePath(model, q, "Gene.proteins.proteinDomains.primaryIdentifier"); 
    75             domainName =  PathQuery.makePath(model, q, "Gene.proteins.proteinDomains.name"); 
    76  
    77  
     59            viewStrings = "Gene.proteins.primaryIdentifier,Gene.proteins.primaryAccession," 
     60                + "Gene.proteins.organism.name,Gene.primaryIdentifier," 
     61                + "Gene.secondaryIdentifier"; 
     62            domainStrings = "Gene.proteins.proteinDomains.primaryIdentifier," 
     63                + "Gene.proteins.proteinDomains.name"; 
    7864        } else if (bagType.equals("Protein")) { 
    79  
    80             primaryIdentifier = PathQuery.makePath(model, q, "Protein.primaryIdentifier"); 
    81             primaryAccession = PathQuery.makePath(model, q, "Protein.primaryAccession"); 
    82             organism = PathQuery.makePath(model, q, "Protein.organism.name"); 
    83             domainIdentifier 
    84             =  PathQuery.makePath(model, q, "Protein.proteinDomains.primaryIdentifier"); 
    85             domainName =  PathQuery.makePath(model, q, "Protein.proteinDomains.name"); 
     65            viewStrings = "Protein.primaryIdentifier," 
     66                + "Protein.primaryAccession,Protein.organism.name"; 
    8667        } 
    8768 
    88         ConstraintOp constraintOp = ConstraintOp.IN; 
    89         String constraintValue = bag.getName(); 
    90         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    91         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    92         q.addNode(bagType).getConstraints().add(c); 
     69        q.setView(viewStrings); 
     70        if (keys == null) { 
     71            q.addView(domainStrings); 
     72        } 
     73 
     74        q.addConstraint(bagType,  Constraints.in(bag.getName())); 
    9375 
    9476        if (keys != null) { 
    95             constraintOp = ConstraintOp.NOT_IN; 
    96             code = q.getUnusedConstraintCode(); 
    97             c = new Constraint(constraintOp, keys, false, label, code, id, null); 
    98             q.getNode(bagType).getConstraints().add(c); 
     77            q.addConstraint(bagType,  Constraints.notIn(new ArrayList(keys))); 
    9978        } else { 
    100             if (bagType.equals("Gene")) { 
    101                 constraintOp = ConstraintOp.LOOKUP; 
    102                 code = q.getUnusedConstraintCode(); 
    103                 PathNode interproNode = q.addNode("Gene.proteins.proteinDomains"); 
    104                 c = new Constraint(constraintOp, key, false, label, code, id, null); 
    105                 interproNode.getConstraints().add(c); 
    106             } else if (bagType.equals("Protein")) { 
    107                 constraintOp = ConstraintOp.LOOKUP; 
    108                 code = q.getUnusedConstraintCode(); 
    109                 PathNode interproNode = q.addNode("Protein.proteinDomains"); 
    110                 c = new Constraint(constraintOp, key, false, label, code, id, null); 
    111                 interproNode.getConstraints().add(c); 
    112             } 
     79            String pathString = (bagType.equals("Gene") ? "Gene.proteins.proteinDomains" 
     80                                                          : "Protein.proteinDomains"); 
     81            q.addConstraint(pathString,  Constraints.lookup(key)); 
    11382        } 
    11483 
    115         view.add(primaryIdentifier); 
    116         view.add(primaryAccession); 
    117         view.add(organism); 
    118         if (bagType.equals("Gene")) { 
    119             view.add(geneIdentifier); 
    120             view.add(secondaryIdentifier); 
    121         } 
    122  
    123         if (keys == null) { 
    124             view.add(domainIdentifier); 
    125             view.add(domainName); 
    126         } 
    127         q.setViewPaths(view); 
    12884        q.setConstraintLogic("A and B"); 
    12985        q.syncLogicExpression("and"); 
    13086 
    131         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    13287        if (keys == null) { 
    133             sortOrder.add(new OrderBy(domainIdentifier)); 
    134             sortOrder.add(new OrderBy(domainName)); 
     88            q.setOrderBy(domainStrings); 
    13589        } 
    136         sortOrder.add(new OrderBy(primaryIdentifier)); 
    137         sortOrder.add(new OrderBy(primaryAccession)); 
    138         sortOrder.add(new OrderBy(organism)); 
    139         if (bagType.equals("Gene")) { 
    140             sortOrder.add(new OrderBy(geneIdentifier)); 
    141             sortOrder.add(new OrderBy(secondaryIdentifier)); 
    142         } 
    143         q.setSortOrder(sortOrder); 
     90        q.addOrderBy(viewStrings); 
    14491 
    14592        return q; 
  • trunk/intermine/pathquery/main/src/org/intermine/pathquery/PathQuery.java

    r16036 r16282  
    101101            while (it.hasNext()) { 
    102102                String path = (String) it.next(); 
    103                 viewPaths.add(makePath(model, this, path.trim())); 
     103                viewPaths.add(new Path(model, path.trim())); 
    104104            } 
    105105            setViewPaths(viewPaths); 
     
    628628                sortOrder.get(0).setDirection(direction); 
    629629            } else { 
    630                 Path p = PathQuery.makePath(model, this, view.get(0).toStringNoConstraints()); 
     630                Path p = makePath(model, this, view.get(0).toStringNoConstraints()); 
    631631                OrderBy o = new OrderBy(p, direction); 
    632632                sortOrder.add(o);