Changeset 16283
- Timestamp:
- 24/07/08 11:58:47 (6 months ago)
- Files:
-
- trunk/bio/webapp/src/org/intermine/bio/web/widget/ChromosomeDistributionGraphURLGenerator.java (modified) (2 diffs)
- trunk/bio/webapp/src/org/intermine/bio/web/widget/PrideExperimentURLQuery.java (modified) (2 diffs)
- trunk/bio/webapp/src/org/intermine/bio/web/widget/ProteinInteractionURLQuery.java (modified) (2 diffs)
- trunk/bio/webapp/src/org/intermine/bio/web/widget/PublicationURLQuery.java (modified) (2 diffs)
- trunk/bio/webapp/src/org/intermine/bio/web/widget/UniProtFeaturesURLQuery.java (modified) (2 diffs)
- trunk/bio/webapp/src/org/intermine/bio/web/widget/UniProtKeywordsURLQuery.java (modified) (2 diffs)
- trunk/intermine/pathquery/main/src/org/intermine/pathquery/PathQuery.java (modified) (1 diff)
- trunk/testmodel/webapp/main/src/org/intermine/model/testmodel/web/widget/EmployeeURLQuery.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/bio/webapp/src/org/intermine/bio/web/widget/ChromosomeDistributionGraphURLGenerator.java
r16275 r16283 11 11 */ 12 12 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;19 13 import 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;24 14 import org.intermine.pathquery.PathQuery; 25 15 import org.intermine.web.logic.bag.InterMineBag; 16 import org.intermine.web.logic.query.Constraints; 26 17 import org.intermine.web.logic.widget.GraphCategoryURLGenerator; 27 28 18 import org.jfree.data.category.CategoryDataset; 29 19 … … 76 66 @SuppressWarnings("unused") String series) { 77 67 78 Model model = os.getModel();79 InterMineBag bag = imBag;80 PathQuery q = new PathQuery(model);81 String bagType = bag.getType();82 68 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(); 91 71 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"); 93 79 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)); 119 82 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)); 127 84 q.setConstraintLogic("A and B and C"); 128 85 } else { 129 86 q.setConstraintLogic("A and B"); 130 87 } 131 132 88 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"); 143 94 return q; 144 95 } trunk/bio/webapp/src/org/intermine/bio/web/widget/PrideExperimentURLQuery.java
r15993 r16283 13 13 import java.util.ArrayList; 14 14 import java.util.Collection; 15 import java.util.List;16 15 17 import org.intermine.metadata.Model;18 16 import org.intermine.model.InterMineObject; 19 17 import 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;25 18 import org.intermine.pathquery.PathQuery; 26 19 import org.intermine.web.logic.bag.InterMineBag; 20 import org.intermine.web.logic.query.Constraints; 27 21 import org.intermine.web.logic.widget.WidgetURLQuery; 28 22 … … 53 47 */ 54 48 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"); 74 52 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())); 81 54 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))); 86 56 } 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)); 93 59 } 94 95 60 q.setConstraintLogic("A and B"); 96 61 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"); 102 63 return q; 103 64 } trunk/bio/webapp/src/org/intermine/bio/web/widget/ProteinInteractionURLQuery.java
r15993 r16283 13 13 import java.util.ArrayList; 14 14 import java.util.Collection; 15 import java.util.List;16 15 17 import org.intermine.metadata.Model;18 16 import org.intermine.model.InterMineObject; 19 17 import 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;25 18 import org.intermine.pathquery.PathQuery; 26 19 import org.intermine.web.logic.bag.InterMineBag; 20 import org.intermine.web.logic.query.Constraints; 27 21 import org.intermine.web.logic.widget.WidgetURLQuery; 28 22 … … 54 48 public PathQuery generatePathQuery(Collection<InterMineObject> keys) { 55 49 56 Model model = os.getModel();57 PathQuery q = new PathQuery(model);58 50 59 List<Path> view = new ArrayList<Path>();51 PathQuery q = new PathQuery(os.getModel()); 60 52 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"); 86 60 87 61 String bagType = bag.getType(); 88 62 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())); 94 64 95 65 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))); 100 67 } 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)); 106 70 } 107 108 71 q.setConstraintLogic("A and B"); 109 72 q.syncLogicExpression("and"); 110 73 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"); 118 76 return q; 119 77 } trunk/bio/webapp/src/org/intermine/bio/web/widget/PublicationURLQuery.java
r15993 r16283 13 13 import java.util.ArrayList; 14 14 import java.util.Collection; 15 import java.util.List;16 15 17 import org.intermine.metadata.Model;18 16 import org.intermine.model.InterMineObject; 19 17 import 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;25 18 import org.intermine.pathquery.PathQuery; 26 19 import org.intermine.web.logic.bag.InterMineBag; 20 import org.intermine.web.logic.query.Constraints; 27 21 import org.intermine.web.logic.widget.WidgetURLQuery; 28 22 … … 53 47 */ 54 48 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"); 75 51 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"); 81 56 } 82 q.setViewPaths(view); 83 57 q.setOrderBy("Gene.primaryIdentifier"); 84 58 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())); 92 60 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))); 97 62 } 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)); 103 64 } 104 65 q.setConstraintLogic("A and B"); 105 66 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 115 67 return q; 116 68 } trunk/bio/webapp/src/org/intermine/bio/web/widget/UniProtFeaturesURLQuery.java
r15993 r16283 13 13 import java.util.ArrayList; 14 14 import java.util.Collection; 15 import java.util.List;16 15 17 import org.intermine.metadata.Model;18 16 import org.intermine.model.InterMineObject; 19 17 import 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;25 18 import org.intermine.pathquery.PathQuery; 26 19 import org.intermine.web.logic.bag.InterMineBag; 20 import org.intermine.web.logic.query.Constraints; 27 21 import org.intermine.web.logic.widget.WidgetURLQuery; 28 22 … … 53 47 */ 54 48 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"); 72 51 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"); 77 55 } 78 q.setViewPaths(view); 79 56 q.addOrderBy("Protein.primaryAccession"); 80 57 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())); 88 59 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))); 93 61 } 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)); 99 63 } 100 101 64 q.setConstraintLogic("A and B"); 102 65 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 111 66 return q; 112 67 } trunk/bio/webapp/src/org/intermine/bio/web/widget/UniProtKeywordsURLQuery.java
r15993 r16283 13 13 import java.util.ArrayList; 14 14 import java.util.Collection; 15 import java.util.List;16 15 17 16 import org.intermine.metadata.Model; 18 17 import org.intermine.model.InterMineObject; 19 18 import 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;25 19 import org.intermine.pathquery.PathQuery; 26 20 import org.intermine.web.logic.bag.InterMineBag; 21 import org.intermine.web.logic.query.Constraints; 27 22 import org.intermine.web.logic.widget.WidgetURLQuery; 28 23 … … 57 52 PathQuery q = new PathQuery(model); 58 53 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"; 64 57 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); 69 60 if (keys == null) { 70 view.add(name);71 view.add(descr);61 q.addView(keyStrings); 62 q.addOrderBy(keyStrings); 72 63 } 73 74 q.setViewPaths(view);75 76 64 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())); 84 66 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))); 89 68 } 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)); 95 70 } 96 71 q.setConstraintLogic("A and B"); 97 72 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 104 73 return q; 105 74 } trunk/intermine/pathquery/main/src/org/intermine/pathquery/PathQuery.java
r16282 r16283 101 101 while (it.hasNext()) { 102 102 String path = (String) it.next(); 103 viewPaths.add( new Path(model, path.trim()));103 viewPaths.add(makePath(model, this, path.trim())); 104 104 } 105 105 setViewPaths(viewPaths); trunk/testmodel/webapp/main/src/org/intermine/model/testmodel/web/widget/EmployeeURLQuery.java
r15992 r16283 12 12 13 13 14 import java.util.ArrayList;15 14 import java.util.Collection; 16 import java.util.List;17 15 18 16 import org.intermine.metadata.Model; 19 17 import org.intermine.model.InterMineObject; 20 18 import org.intermine.objectstore.ObjectStore; 21 import org.intermine.objectstore.query.ConstraintOp;22 import org.intermine.pathquery.Constraint;23 import org.intermine.pathquery.PathNode;24 19 import org.intermine.pathquery.PathQuery; 25 20 import org.intermine.web.logic.bag.InterMineBag; 21 import org.intermine.web.logic.query.Constraints; 26 22 import org.intermine.web.logic.widget.WidgetURLQuery; 27 23 … … 51 47 */ 52 48 public PathQuery generatePathQuery(Collection<InterMineObject> keys) { 53 54 55 49 Model model = os.getModel(); 56 50 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)); 81 55 q.setConstraintLogic("A and B"); 82 56 q.syncLogicExpression("and"); 83 84 57 return q; 85 58 }
