Changeset 16283

Show
Ignore:
Timestamp:
24/07/08 11:58:47 (6 months ago)
Author:
julie
Message:

more updates to widget queries. Refs #1733

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/bio/webapp/src/org/intermine/bio/web/widget/ChromosomeDistributionGraphURLGenerator.java

    r16275 r16283  
    1111 */ 
    1212 
    13 import java.util.ArrayList; 
    14 import java.util.List; 
    15  
    16 import org.intermine.objectstore.query.ConstraintOp; 
    17  
    18 import org.intermine.metadata.Model; 
    1913import org.intermine.objectstore.ObjectStore; 
    20 import org.intermine.path.Path; 
    21 import org.intermine.pathquery.Constraint; 
    22 import org.intermine.pathquery.OrderBy; 
    23 import org.intermine.pathquery.PathNode; 
    2414import org.intermine.pathquery.PathQuery; 
    2515import org.intermine.web.logic.bag.InterMineBag; 
     16import org.intermine.web.logic.query.Constraints; 
    2617import org.intermine.web.logic.widget.GraphCategoryURLGenerator; 
    27  
    2818import org.jfree.data.category.CategoryDataset; 
    2919 
     
    7666                                       @SuppressWarnings("unused") String series) { 
    7767 
    78         Model model = os.getModel(); 
    79         InterMineBag bag = imBag; 
    80         PathQuery q = new PathQuery(model); 
    81         String bagType = bag.getType(); 
    8268 
    83         Path identifier = PathQuery.makePath(model, q, bagType + ".secondaryIdentifier"); 
    84         Path primaryIdentifier = PathQuery.makePath(model, q, bagType + ".primaryIdentifier"); 
    85         Path name = PathQuery.makePath(model, q, bagType + ".organism.name"); 
    86         Path chromoIdentifier = PathQuery.makePath(model, q, bagType 
    87                                                     + ".chromosome.primaryIdentifier"); 
    88         Path start = PathQuery.makePath(model, q, bagType + ".chromosomeLocation.start"); 
    89         Path end = PathQuery.makePath(model, q, bagType + ".chromosomeLocation.end"); 
    90         Path strand = PathQuery.makePath(model, q, bagType + ".chromosomeLocation.strand"); 
     69        PathQuery q = new PathQuery(os.getModel()); 
     70        String bagType = imBag.getType(); 
    9171 
    92         List<Path> view = new ArrayList<Path>(); 
     72        q.setView(bagType + ".secondaryIdentifier," 
     73                  + bagType + ".primaryIdentifier, " 
     74                  + bagType + ".organism.name, " 
     75                  + bagType + ".chromosome.primaryIdentifier," 
     76                  + bagType + ".chromosomeLocation.start," 
     77                  + bagType + ".chromosomeLocation.end," 
     78                  + bagType + ".chromosomeLocation.strand"); 
    9379 
    94         view.add(identifier); 
    95         view.add(primaryIdentifier); 
    96         view.add(name); 
    97         view.add(chromoIdentifier); 
    98         view.add(start); 
    99         view.add(end); 
    100         view.add(strand); 
    101  
    102         q.setViewPaths(view); 
    103  
    104         ConstraintOp constraintOp = ConstraintOp.IN; 
    105         String constraintValue = bag.getName(); 
    106  
    107         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    108         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    109         q.addNode(bagType).getConstraints().add(c); 
    110  
    111         //  constrain to be specific chromosome 
    112         constraintOp = ConstraintOp.EQUALS; 
    113         code = q.getUnusedConstraintCode(); 
    114         PathNode chromosomeNode = q.addNode(bagType + ".chromosome.primaryIdentifier"); 
    115         Constraint chromosomeConstraint 
    116                         = new Constraint(constraintOp, category, false, label, code, id, null); 
    117         chromosomeNode.getConstraints().add(chromosomeConstraint); 
    118  
     80        q.addConstraint(bagType,  Constraints.in(imBag.getName())); 
     81        q.addConstraint(bagType + ".chromosome.primaryIdentifier",  Constraints.eq(category)); 
    11982        if (organism != null) { 
    120             constraintOp = ConstraintOp.LOOKUP; 
    121             code = q.getUnusedConstraintCode(); 
    122             PathNode orgNode  = q.addNode("Gene.organism"); 
    123             orgNode.setType("Organism"); 
    124             Constraint orgConstraint 
    125             = new Constraint(constraintOp, organism, false, label, code, id, null); 
    126             orgNode.getConstraints().add(orgConstraint); 
     83            q.addConstraint(bagType + ".organism",  Constraints.lookup(organism)); 
    12784            q.setConstraintLogic("A and B and C"); 
    12885        } else { 
    12986            q.setConstraintLogic("A and B"); 
    13087        } 
    131  
    13288        q.syncLogicExpression("and"); 
    133  
    134         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    135         sortOrder.add(new OrderBy(start)); 
    136         sortOrder.add(new OrderBy(identifier)); 
    137         sortOrder.add(new OrderBy(primaryIdentifier)); 
    138         sortOrder.add(new OrderBy(name)); 
    139         sortOrder.add(new OrderBy(chromoIdentifier)); 
    140         sortOrder.add(new OrderBy(end)); 
    141         sortOrder.add(new OrderBy(strand)); 
    142         q.setSortOrder(sortOrder); 
     89        q.setOrderBy(bagType + ".chromosomeLocation.start" 
     90                     + bagType + ".secondaryIdentifier," 
     91                     + bagType + ".primaryIdentifier, " 
     92                     + bagType + ".organism.name, " 
     93                     + bagType + ".chromosome.primaryIdentifier"); 
    14394        return q; 
    14495    } 
  • trunk/bio/webapp/src/org/intermine/bio/web/widget/PrideExperimentURLQuery.java

    r15993 r16283  
    1313import java.util.ArrayList; 
    1414import java.util.Collection; 
    15 import java.util.List; 
    1615 
    17 import org.intermine.metadata.Model; 
    1816import org.intermine.model.InterMineObject; 
    1917import 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; 
    2518import org.intermine.pathquery.PathQuery; 
    2619import org.intermine.web.logic.bag.InterMineBag; 
     20import org.intermine.web.logic.query.Constraints; 
    2721import org.intermine.web.logic.widget.WidgetURLQuery; 
    2822 
     
    5347     */ 
    5448    public PathQuery generatePathQuery(Collection<InterMineObject> keys) { 
    55  
    56         Model model = os.getModel(); 
    57         PathQuery q = new PathQuery(model); 
    58  
    59         List<Path> view = new ArrayList<Path>(); 
    60  
    61         Path pride = PathQuery.makePath(model, q, 
    62                 "Protein.proteinIdentifications.prideExperiment.title"); 
    63         Path proteinId = PathQuery.makePath(model, q, "Protein.primaryIdentifier"); 
    64         Path proteinAcc = PathQuery.makePath(model, q, "Protein.primaryAccession"); 
    65         Path proteinName = PathQuery.makePath(model, q, "Protein.name"); 
    66  
    67         view.add(pride); 
    68         view.add(proteinId); 
    69         view.add(proteinAcc); 
    70         view.add(proteinName); 
    71  
    72         q.setViewPaths(view); 
    73  
     49        PathQuery q = new PathQuery(os.getModel()); 
     50        q.setView("Protein.proteinIdentifications.prideExperiment.title,Protein.primaryIdentifier," 
     51                  + "Protein.primaryAccession,Protein.name"); 
    7452        String bagType = bag.getType(); 
    75         ConstraintOp constraintOp = ConstraintOp.IN; 
    76         String constraintValue = bag.getName(); 
    77         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    78         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    79         q.addNode(bagType).getConstraints().add(c); 
    80  
     53        q.addConstraint(bagType,  Constraints.in(bag.getName())); 
    8154        if (keys != null) { 
    82             constraintOp = ConstraintOp.NOT_IN; 
    83             code = q.getUnusedConstraintCode(); 
    84             c = new Constraint(constraintOp, keys, false, label, code, id, null); 
    85             q.getNode(bagType).getConstraints().add(c); 
     55            q.addConstraint(bagType,  Constraints.notIn(new ArrayList(keys))); 
    8656        } else { 
    87             // prideExperiment 
    88             constraintOp = ConstraintOp.EQUALS; 
    89             code = q.getUnusedConstraintCode(); 
    90             PathNode node = q.addNode("Protein.proteinIdentifications.prideExperiment.title"); 
    91             c = new Constraint(constraintOp, key, false, label, code, id, null); 
    92             node.getConstraints().add(c); 
     57            q.addConstraint("Protein.proteinIdentifications.prideExperiment.title", 
     58                            Constraints.eq(key)); 
    9359        } 
    94  
    9560        q.setConstraintLogic("A and B"); 
    9661        q.syncLogicExpression("and"); 
    97  
    98         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    99         sortOrder.add(new OrderBy(pride)); 
    100         q.setSortOrder(sortOrder); 
    101  
     62        q.setOrderBy("Protein.proteinIdentifications.prideExperiment.title"); 
    10263        return q; 
    10364    } 
  • trunk/bio/webapp/src/org/intermine/bio/web/widget/ProteinInteractionURLQuery.java

    r15993 r16283  
    1313import java.util.ArrayList; 
    1414import java.util.Collection; 
    15 import java.util.List; 
    1615 
    17 import org.intermine.metadata.Model; 
    1816import org.intermine.model.InterMineObject; 
    1917import 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; 
    2518import org.intermine.pathquery.PathQuery; 
    2619import org.intermine.web.logic.bag.InterMineBag; 
     20import org.intermine.web.logic.query.Constraints; 
    2721import org.intermine.web.logic.widget.WidgetURLQuery; 
    2822 
     
    5448    public PathQuery generatePathQuery(Collection<InterMineObject> keys) { 
    5549 
    56         Model model = os.getModel(); 
    57         PathQuery q = new PathQuery(model); 
    5850 
    59         List<Path> view = new ArrayList<Path>(); 
     51        PathQuery q = new PathQuery(os.getModel()); 
    6052 
    61         Path primaryIdentifier = PathQuery.makePath(model, q, "Protein.primaryIdentifier"); 
    62         Path primaryAccesion = PathQuery.makePath(model, q, "Protein.primaryAccession"); 
    63         Path interactPrimaryIdentifier = PathQuery.makePath(model, q, 
    64                 "Protein.proteinInteractions.interactingProteins.primaryIdentifier"); 
    65         Path interactPrimaryAccession = PathQuery.makePath(model, q, 
    66                 "Protein.proteinInteractions.interactingProteins.primaryAccession"); 
    67         Path interactName = PathQuery.makePath(model, q, 
    68                 "Protein.proteinInteractions.interactingProteins.name"); 
    69         Path interactShortname = PathQuery.makePath(model, q, 
    70                 "Protein.proteinInteractions.shortName"); 
    71         Path interactPathRole = PathQuery.makePath(model, q, 
    72                 "Protein.proteinInteractions.proteinRole"); 
    73         Path interactPubMedId = PathQuery.makePath(model, q, 
    74                 "Protein.proteinInteractions.experiment.publication.pubMedId"); 
    75  
    76         view.add(primaryIdentifier); 
    77         view.add(primaryAccesion); 
    78         view.add(interactPrimaryIdentifier); 
    79         view.add(interactPathRole); 
    80         view.add(interactPrimaryAccession); 
    81         view.add(interactName); 
    82         view.add(interactPubMedId); 
    83         view.add(interactShortname); 
    84  
    85         q.setViewPaths(view); 
     53        q.setView("Protein.primaryIdentifier, Protein.primaryAccession," 
     54                  + "Protein.proteinInteractions.interactingProteins.primaryIdentifier," 
     55                  + "Protein.proteinInteractions.interactingProteins.primaryAccession," 
     56                  + "Protein.proteinInteractions.interactingProteins.name," 
     57                  + "Protein.proteinInteractions.shortName," 
     58                  + "Protein.proteinInteractions.proteinRole," 
     59                  + "Protein.proteinInteractions.experiment.publication.pubMedId"); 
    8660 
    8761        String bagType = bag.getType(); 
    8862 
    89         ConstraintOp constraintOp = ConstraintOp.IN; 
    90         String constraintValue = bag.getName(); 
    91         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    92         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    93         q.addNode(bagType).getConstraints().add(c); 
     63        q.addConstraint(bagType,  Constraints.in(bag.getName())); 
    9464 
    9565        if (keys != null) { 
    96             code = q.getUnusedConstraintCode(); 
    97             constraintOp = ConstraintOp.NOT_IN; 
    98             c = new Constraint(constraintOp, keys, false, label, code, id, null); 
    99             q.getNode(bagType).getConstraints().add(c); 
     66            q.addConstraint(bagType,  Constraints.notIn(new ArrayList(keys))); 
    10067        } else { 
    101             constraintOp = ConstraintOp.LOOKUP; 
    102             code = q.getUnusedConstraintCode(); 
    103             PathNode node = q.addNode("Protein.proteinInteractions.interactingProteins"); 
    104             c = new Constraint(constraintOp, key, false, label, code, id, null); 
    105             node.getConstraints().add(c); 
     68            q.addConstraint("Protein.proteinInteractions.interactingProteins", 
     69                            Constraints.lookup(key)); 
    10670        } 
    107  
    10871        q.setConstraintLogic("A and B"); 
    10972        q.syncLogicExpression("and"); 
    11073 
    111         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    112         sortOrder.add(new OrderBy(primaryIdentifier)); 
    113         sortOrder.add(new OrderBy(primaryAccesion)); 
    114         sortOrder.add(new OrderBy(interactName)); 
    115  
    116         q.setSortOrder(sortOrder); 
    117  
     74        q.setOrderBy("Protein.primaryIdentifier, Protein.primaryAccession," 
     75                     + "Protein.proteinInteractions.interactingProteins.name"); 
    11876        return q; 
    11977    } 
  • trunk/bio/webapp/src/org/intermine/bio/web/widget/PublicationURLQuery.java

    r15993 r16283  
    1313import java.util.ArrayList; 
    1414import java.util.Collection; 
    15 import java.util.List; 
    1615 
    17 import org.intermine.metadata.Model; 
    1816import org.intermine.model.InterMineObject; 
    1917import 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; 
    2518import org.intermine.pathquery.PathQuery; 
    2619import org.intermine.web.logic.bag.InterMineBag; 
     20import org.intermine.web.logic.query.Constraints; 
    2721import org.intermine.web.logic.widget.WidgetURLQuery; 
    2822 
     
    5347     */ 
    5448    public PathQuery generatePathQuery(Collection<InterMineObject> keys) { 
    55  
    56         Model model = os.getModel(); 
    57         PathQuery q = new PathQuery(model); 
    58  
    59         List<Path> view = new ArrayList<Path>(); 
    60  
    61         Path geneSecondaryIdentifier = PathQuery.makePath(model, q, "Gene.secondaryIdentifier"); 
    62         Path genePrimaryIdentifier = PathQuery.makePath(model, q, "Gene.primaryIdentifier"); 
    63         Path geneName = PathQuery.makePath(model, q, "Gene.name"); 
    64         Path organismName = PathQuery.makePath(model, q, "Gene.organism.name"); 
    65         Path title = PathQuery.makePath(model, q, "Gene.publications.title"); 
    66         Path author = PathQuery.makePath(model, q, "Gene.publications.firstAuthor"); 
    67         Path journal = PathQuery.makePath(model, q, "Gene.publications.journal"); 
    68         Path year = PathQuery.makePath(model, q, "Gene.publications.year"); 
    69         Path pubmedid = PathQuery.makePath(model, q, "Gene.publications.pubMedId"); 
    70  
    71         view.add(genePrimaryIdentifier); 
    72         view.add(geneSecondaryIdentifier); 
    73         view.add(geneName); 
    74         view.add(organismName); 
     49        PathQuery q = new PathQuery(os.getModel()); 
     50        q.setView("Gene.secondaryIdentifier,Gene.primaryIdentifier,Gene.name,Gene.organism.name"); 
    7551        if (keys == null) { 
    76             view.add(title); 
    77             view.add(author); 
    78             view.add(journal); 
    79             view.add(year); 
    80             view.add(pubmedid); 
     52            q.addView("Gene.publications.title,Gene.publications.firstAuthor," 
     53                      + "Gene.publications.journal,Gene.publications.year," 
     54                      + "Gene.publications.pubMedId"); 
     55            q.setOrderBy("Gene.publications.pubMedId"); 
    8156        } 
    82         q.setViewPaths(view); 
    83  
     57        q.setOrderBy("Gene.primaryIdentifier"); 
    8458        String bagType = bag.getType(); 
    85  
    86         ConstraintOp constraintOp = ConstraintOp.IN; 
    87         String constraintValue = bag.getName(); 
    88         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    89         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    90         q.addNode(bagType).getConstraints().add(c); 
    91  
     59        q.addConstraint(bagType,  Constraints.in(bag.getName())); 
    9260        if (keys != null) { 
    93             code = q.getUnusedConstraintCode(); 
    94             constraintOp = ConstraintOp.NOT_IN; 
    95             c = new Constraint(constraintOp, keys, false, label, code, id, null); 
    96             q.getNode(bagType).getConstraints().add(c); 
     61            q.addConstraint(bagType,  Constraints.notIn(new ArrayList(keys))); 
    9762        } else { 
    98             constraintOp = ConstraintOp.LOOKUP; 
    99             code = q.getUnusedConstraintCode(); 
    100             PathNode node = q.addNode("Gene.publications"); 
    101             c = new Constraint(constraintOp, key, false, label, code, id, null); 
    102             node.getConstraints().add(c); 
     63            q.addConstraint("Gene.publications",  Constraints.lookup(key)); 
    10364        } 
    10465        q.setConstraintLogic("A and B"); 
    10566        q.syncLogicExpression("and"); 
    106  
    107         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    108         if (keys == null) { 
    109             sortOrder.add(new OrderBy(pubmedid)); 
    110         } 
    111         sortOrder.add(new OrderBy(genePrimaryIdentifier)); 
    112  
    113         q.setSortOrder(sortOrder); 
    114  
    11567        return q; 
    11668    } 
  • trunk/bio/webapp/src/org/intermine/bio/web/widget/UniProtFeaturesURLQuery.java

    r15993 r16283  
    1313import java.util.ArrayList; 
    1414import java.util.Collection; 
    15 import java.util.List; 
    1615 
    17 import org.intermine.metadata.Model; 
    1816import org.intermine.model.InterMineObject; 
    1917import 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; 
    2518import org.intermine.pathquery.PathQuery; 
    2619import org.intermine.web.logic.bag.InterMineBag; 
     20import org.intermine.web.logic.query.Constraints; 
    2721import org.intermine.web.logic.widget.WidgetURLQuery; 
    2822 
     
    5347     */ 
    5448    public PathQuery generatePathQuery(Collection<InterMineObject> keys) { 
    55  
    56         Model model = os.getModel(); 
    57         PathQuery q = new PathQuery(model); 
    58  
    59         List<Path> view = new ArrayList<Path>(); 
    60  
    61         Path identifier = PathQuery.makePath(model, q, "Protein.primaryIdentifier"); 
    62         Path sec = PathQuery.makePath(model, q, "Protein.primaryAccession"); 
    63         Path organism = PathQuery.makePath(model, q, "Protein.organism.name"); 
    64         Path name = PathQuery.makePath(model, q, "Protein.features.feature.name"); 
    65         Path descr =  PathQuery.makePath(model, q, "Protein.features.description"); 
    66         Path begin = PathQuery.makePath(model, q, "Protein.features.begin"); 
    67         Path end = PathQuery.makePath(model, q, "Protein.features.end"); 
    68  
    69         view.add(identifier); 
    70         view.add(sec); 
    71         view.add(organism); 
     49       PathQuery q = new PathQuery(os.getModel()); 
     50       q.setView("Protein.primaryIdentifier,Protein.primaryAccession,Protein.organism.name"); 
    7251        if (keys == null) { 
    73             view.add(name); 
    74             view.add(descr); 
    75             view.add(begin); 
    76             view.add(end); 
     52            q.addView("Protein.features.feature.name,Protein.features.description," 
     53                      + "Protein.features.begin,Protein.features.end"); 
     54            q.setOrderBy("Protein.features.feature.name"); 
    7755        } 
    78         q.setViewPaths(view); 
    79  
     56        q.addOrderBy("Protein.primaryAccession"); 
    8057        String bagType = bag.getType(); 
    81  
    82         ConstraintOp constraintOp = ConstraintOp.IN; 
    83         String constraintValue = bag.getName(); 
    84         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    85         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    86         q.addNode(bagType).getConstraints().add(c); 
    87  
     58        q.addConstraint(bagType,  Constraints.in(bag.getName())); 
    8859        if (keys != null) { 
    89             constraintOp = ConstraintOp.NOT_IN; 
    90             code = q.getUnusedConstraintCode(); 
    91             c = new Constraint(constraintOp, keys, false, label, code, id, null); 
    92             q.getNode(bagType).getConstraints().add(c); 
     60            q.addConstraint(bagType,  Constraints.notIn(new ArrayList(keys))); 
    9361        } else { 
    94             constraintOp = ConstraintOp.LOOKUP; 
    95             code = q.getUnusedConstraintCode(); 
    96             PathNode node = q.addNode("Protein.features.feature"); 
    97             c = new Constraint(constraintOp, key, false, label, code, id, null); 
    98             node.getConstraints().add(c); 
     62            q.addConstraint("Protein.features.feature",  Constraints.lookup(key)); 
    9963        } 
    100  
    10164        q.setConstraintLogic("A and B"); 
    10265        q.syncLogicExpression("and"); 
    103  
    104         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    105         if (keys == null) { 
    106             sortOrder.add(new OrderBy(name)); 
    107         } 
    108         sortOrder.add(new OrderBy(identifier)); 
    109         q.setSortOrder(sortOrder); 
    110  
    11166        return q; 
    11267    } 
  • trunk/bio/webapp/src/org/intermine/bio/web/widget/UniProtKeywordsURLQuery.java

    r15993 r16283  
    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 
     
    5752        PathQuery q = new PathQuery(model); 
    5853 
    59         Path identifier = PathQuery.makePath(model, q, "Protein.primaryIdentifier"); 
    60         Path sec = PathQuery.makePath(model, q, "Protein.primaryAccession"); 
    61         Path organism = PathQuery.makePath(model, q, "Protein.organism.name"); 
    62         Path name = PathQuery.makePath(model, q, "Protein.keywords.name"); 
    63         Path descr =  PathQuery.makePath(model, q, "Protein.keywords.description"); 
     54        String viewStrings = "Protein.primaryIdentifier,Protein.primaryAccession," 
     55            + "Protein.organism.name"; 
     56        String keyStrings = "Protein.keywords.name,Protein.keywords.description"; 
    6457 
    65         List<Path> view = new ArrayList<Path>(); 
    66         view.add(identifier); 
    67         view.add(sec); 
    68         view.add(organism); 
     58        q.setView(viewStrings); 
     59        q.setOrderBy(viewStrings); 
    6960        if (keys == null) { 
    70             view.add(name); 
    71             view.add(descr); 
     61            q.addView(keyStrings); 
     62            q.addOrderBy(keyStrings); 
    7263        } 
    73  
    74         q.setViewPaths(view); 
    75  
    7664        String bagType = bag.getType(); 
    77  
    78         ConstraintOp constraintOp = ConstraintOp.IN; 
    79         String constraintValue = bag.getName(); 
    80         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    81         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    82         q.addNode(bagType).getConstraints().add(c); 
    83  
     65        q.addConstraint(bagType,  Constraints.in(bag.getName())); 
    8466        if (keys != null) { 
    85             constraintOp = ConstraintOp.NOT_IN; 
    86             code = q.getUnusedConstraintCode(); 
    87             c = new Constraint(constraintOp, keys, false, label, code, id, null); 
    88             q.getNode(bagType).getConstraints().add(c); 
     67            q.addConstraint(bagType,  Constraints.notIn(new ArrayList(keys))); 
    8968        } else { 
    90             constraintOp = ConstraintOp.LOOKUP; 
    91             code = q.getUnusedConstraintCode(); 
    92             PathNode keywordNode = q.addNode("Protein.keywords"); 
    93             c = new Constraint(constraintOp, key, false, label, code, id, null); 
    94             keywordNode.getConstraints().add(c); 
     69            q.addConstraint("Protein.keywords",  Constraints.lookup(key)); 
    9570        } 
    9671        q.setConstraintLogic("A and B"); 
    9772        q.syncLogicExpression("and"); 
    98  
    99         List<OrderBy>  sortOrder = new ArrayList<OrderBy>(); 
    100         sortOrder.add(new OrderBy(name)); 
    101         sortOrder.add(new OrderBy(identifier)); 
    102         q.setSortOrder(sortOrder); 
    103  
    10473        return q; 
    10574    } 
  • trunk/intermine/pathquery/main/src/org/intermine/pathquery/PathQuery.java

    r16282 r16283  
    101101            while (it.hasNext()) { 
    102102                String path = (String) it.next(); 
    103                 viewPaths.add(new Path(model, path.trim())); 
     103                viewPaths.add(makePath(model, this, path.trim())); 
    104104            } 
    105105            setViewPaths(viewPaths); 
  • trunk/testmodel/webapp/main/src/org/intermine/model/testmodel/web/widget/EmployeeURLQuery.java

    r15992 r16283  
    1212 
    1313 
    14 import java.util.ArrayList; 
    1514import java.util.Collection; 
    16 import java.util.List; 
    1715 
    1816import org.intermine.metadata.Model; 
    1917import org.intermine.model.InterMineObject; 
    2018import org.intermine.objectstore.ObjectStore; 
    21 import org.intermine.objectstore.query.ConstraintOp; 
    22 import org.intermine.pathquery.Constraint; 
    23 import org.intermine.pathquery.PathNode; 
    2419import org.intermine.pathquery.PathQuery; 
    2520import org.intermine.web.logic.bag.InterMineBag; 
     21import org.intermine.web.logic.query.Constraints; 
    2622import org.intermine.web.logic.widget.WidgetURLQuery; 
    2723 
     
    5147     */ 
    5248    public PathQuery generatePathQuery(Collection<InterMineObject> keys) { 
    53  
    54  
    5549        Model model = os.getModel(); 
    5650        PathQuery q = new PathQuery(model); 
    57  
    58         List view = new ArrayList(); 
    59         view.add(PathQuery.makePath(model, q, "Employee.name")); 
    60         view.add(PathQuery.makePath(model, q, "Employee.department.name")); 
    61         view.add(PathQuery.makePath(model, q, "Employee.department.company.name")); 
    62         view.add(PathQuery.makePath(model, q, "Employee.fullTime")); 
    63  
    64         q.setViewPaths(view); 
    65  
    66         String bagType = bag.getType(); 
    67         ConstraintOp constraintOp = ConstraintOp.IN; 
    68         String constraintValue = bag.getName(); 
    69         String label = null, id = null, code = q.getUnusedConstraintCode(); 
    70         Constraint c = new Constraint(constraintOp, constraintValue, false, label, code, id, null); 
    71         q.addNode(bagType).getConstraints().add(c); 
    72  
    73         // dept 
    74         constraintOp = ConstraintOp.LOOKUP; 
    75         code = q.getUnusedConstraintCode(); 
    76         PathNode deptNode = q.addNode("Employee.department"); 
    77         Constraint deptConstraint 
    78                         = new Constraint(constraintOp, key, false, label, code, id, null); 
    79         deptNode.getConstraints().add(deptConstraint); 
    80  
     51        q.setView("Employee.name,Employee.department.name,Employee.department.company.name," 
     52                  + "Employee.fullTime"); 
     53        q.addConstraint(bag.getType(),  Constraints.in(bag.getName())); 
     54        q.addConstraint("Employee.department",  Constraints.eq(key)); 
    8155        q.setConstraintLogic("A and B"); 
    8256        q.syncLogicExpression("and"); 
    83  
    8457        return q; 
    8558    }