Changeset 16282
- Timestamp:
- 24/07/08 11:16:35 (4 months ago)
- Files:
-
- trunk/flymine/webapp/src/org/flymine/web/widget/BDGPURLQuery.java (modified) (3 diffs)
- trunk/flymine/webapp/src/org/flymine/web/widget/FlyAtlasGraphURLGenerator.java (modified) (1 diff)
- trunk/flymine/webapp/src/org/flymine/web/widget/ProteinDomainURLQuery.java (modified) (2 diffs)
- trunk/intermine/pathquery/main/src/org/intermine/pathquery/PathQuery.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/flymine/webapp/src/org/flymine/web/widget/BDGPURLQuery.java
r15993 r16282 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 … … 33 28 { 34 29 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"; 38 34 39 35 /** … … 56 52 PathQuery q = new PathQuery(model); 57 53 58 List<Path> view = new ArrayList<Path>(); 54 String viewStrings = "Gene.secondaryIdentifier,Gene.name,Gene.organism.name," 55 + "Gene.primaryIdentifier"; 59 56 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"; 68 60 61 q.setView(viewStrings); 62 if (keys == null) { 63 q.addView(expressionStrings); 64 } 69 65 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())); 77 67 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))); 82 69 q.setConstraintLogic("A and B"); 83 70 } 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)); 101 75 q.setConstraintLogic("A and B and C and D"); 102 76 } 103 104 105 view.add(primaryIdentifier); 106 view.add(secondaryIdentifier); 107 view.add(name); 108 view.add(organism); 109 77 q.syncLogicExpression("and"); 110 78 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"); 114 82 } 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 129 83 return q; 130 84 } trunk/flymine/webapp/src/org/flymine/web/widget/FlyAtlasGraphURLGenerator.java
r16275 r16282 72 72 PathQuery q = new PathQuery(model); 73 73 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"); 79 82 80 q.addConstraint(" Gene", Constraints.in(bag.getName()));83 q.addConstraint("FlyAtlasResult.genes", Constraints.in(bag.getName())); 81 84 q.addConstraint("FlyAtlasResult.affyCall", Constraints.eq(series)); 82 85 q.addConstraint("FlyAtlasResult.assays.name", Constraints.eq(category)); trunk/flymine/webapp/src/org/flymine/web/widget/ProteinDomainURLQuery.java
r15993 r16282 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 … … 56 51 Model model = os.getModel(); 57 52 PathQuery q = new PathQuery(model); 58 59 List<Path> view = new ArrayList<Path>();60 53 String bagType = bag.getType(); 61 54 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 = ""; 65 57 66 58 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"; 78 64 } 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"; 86 67 } 87 68 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())); 93 75 94 76 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))); 99 78 } 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)); 113 82 } 114 83 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);128 84 q.setConstraintLogic("A and B"); 129 85 q.syncLogicExpression("and"); 130 86 131 List<OrderBy> sortOrder = new ArrayList<OrderBy>();132 87 if (keys == null) { 133 sortOrder.add(new OrderBy(domainIdentifier)); 134 sortOrder.add(new OrderBy(domainName)); 88 q.setOrderBy(domainStrings); 135 89 } 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); 144 91 145 92 return q; trunk/intermine/pathquery/main/src/org/intermine/pathquery/PathQuery.java
r16036 r16282 101 101 while (it.hasNext()) { 102 102 String path = (String) it.next(); 103 viewPaths.add( makePath(model, this, path.trim()));103 viewPaths.add(new Path(model, path.trim())); 104 104 } 105 105 setViewPaths(viewPaths); … … 628 628 sortOrder.get(0).setDirection(direction); 629 629 } else { 630 Path p = PathQuery.makePath(model, this, view.get(0).toStringNoConstraints());630 Path p = makePath(model, this, view.get(0).toStringNoConstraints()); 631 631 OrderBy o = new OrderBy(p, direction); 632 632 sortOrder.add(o);
