/** * Construct with pathquery and former model * @param pathQuery the epath query * @param oldModel the former model */ public PathQueryUpdate(PathQuery pathQuery, Model oldModel) { this.pathQuery = pathQuery; this.oldModel = oldModel; this.newPathQuery = new PathQuery(pathQuery.getModel()); }
@Override protected void setUp() throws Exception { super.setUp(); pq = new PathQuery(model); pq.addViews("Manager.department.name", "Manager.department.employees.name"); }
public void testMarshalSavedQuery() throws Exception { PathQuery query = new PathQuery(model); SavedQuery sq = new SavedQuery("hello", created, query); String xml = SavedQueryBinding.marshal(sq, PathQuery.USERPROFILE_VERSION); SavedQuery sq2 = (SavedQuery) SavedQueryBinding.unmarshal(new StringReader(xml), new HashMap(), PathQuery.USERPROFILE_VERSION).values().iterator().next(); String expected = "\n<saved-query name=\"hello\" date-created=\"1124276877010\"><query name=\"hello\" model=\"testmodel\" view=\"\" longDescription=\"\"></query></saved-query>"; assertEquals(expected, xml); } }
public void testCandidateLoopsOneViewNoOuterJoins() throws Exception { Model model = Model.getInstanceByName("testmodel"); PathQuery q = new PathQuery(model); q.addView("Employee.age"); assertEquals("A rooted query will report candidate loops", new HashSet<String>(Arrays.asList("Employee", "Employee.department.employees")), q.getCandidateLoops("Employee.department.employees.department.employees")); }
private PathQuery getQuery1(Model model) { PathQuery q = new PathQuery(model); q.addView("Employee.name"); q.addConstraint(new PathConstraintAttribute("Employee.age", ConstraintOp.LESS_THAN, "50")); return q; }
private void addHistory(int n) { Model m = im.getModel(); PathQuery q = new PathQuery(m); q.addViews("Employee.name", "Employee.department.name"); q.addConstraint(Constraints.eq("Employee.age", String.valueOf(n))); Date d = new Date(1000 * n); String name = "query_" + n; bobProfile.saveHistory(new SavedQuery(name, d, q)); }
public void testMultiTypeQuery() throws Exception { PathQuery pq = new PathQuery(Model.getInstanceByName("testmodel")); pq.addViews("Employable.name"); pq.addConstraint(new PathConstraintMultitype("Employable", ConstraintOp.ISA, Arrays.asList("Contractor", "Manager"))); assertEquals(pq.toString(), savedQueries.get("multitype").toString()); }
public void testIdBags() throws Exception { PathQuery pq = new PathQuery(Model.getInstanceByName("testmodel")); pq.addViews("Company.name"); pq.addViews("Company.vatNumber"); List ids = Arrays.asList("1","5","7"); pq.addConstraint(new PathConstraintIds("Company", ConstraintOp.IN, ids)); assertEquals(pq.toString(), savedQueries.get("idBagConstraints").toString()); }
private void setUpTemplatesAndTags() throws TagException, BadTemplateException { TagManager tagManager = im.getTagManager(); PathQuery q = new PathQuery(im.getModel()); global1 = new ApiTemplate("global1", "", "", q); superUser.saveTemplate(global1.getName(), global1); tagManager.addTag(TagNames.IM_PUBLIC, global1, superUser); private1 = new ApiTemplate("private1", "", "", q); superUser.saveTemplate(private1.getName(), private1); user1 = new ApiTemplate("user1", "", "", q); testUser.saveTemplate(user1.getName(), user1); overrideGlobal = new ApiTemplate("global1", "", "", new PathQuery(im.getModel())); }
public void testNeq() { PathQuery q = new PathQuery(Model.getInstanceByName("testmodel")); q.addConstraint(Constraints.neq("Employee.name", "monkey")); assertEquals("<query name=\"query\" model=\"testmodel\" view=\"\" longDescription=\"\"><constraint path=\"Employee.name\" op=\"!=\" value=\"monkey\"/></query>", q.toXml(1)); }
public void testCreatePathQueryView() { PathQuery pathQuery = new PathQuery(os.getModel()); pathQuery.addView("Employee.name"); pathQuery.addView("Employee.age"); pathQuery.addView("Employee.department.name"); assertEquals(pathQuery, widget.createPathQueryView(os, webConfig.getWidgets().get(("contractor_enrichment")))); } }
public void testEq() { PathQuery q = new PathQuery(Model.getInstanceByName("testmodel")); q.addConstraint(Constraints.eq("Employee.name", "monkey")); assertEquals("<query name=\"query\" model=\"testmodel\" view=\"\" longDescription=\"\"><constraint path=\"Employee.name\" op=\"=\" value=\"monkey\"/></query>", q.toXml(1)); }
public void testLike() { PathQuery q = new PathQuery(Model.getInstanceByName("testmodel")); q.addConstraint(Constraints.like("Employee.name", "monkey")); assertEquals("<query name=\"query\" model=\"testmodel\" view=\"\" longDescription=\"\"><constraint path=\"Employee.name\" op=\"LIKE\" value=\"monkey\"/></query>", q.toXml(1)); }
public void testIn() { PathQuery q = new PathQuery(Model.getInstanceByName("testmodel")); q.addConstraint(Constraints.in("Employee", " ")); assertEquals("<query name=\"query\" model=\"testmodel\" view=\"\" longDescription=\"\"><constraint path=\"Employee\" op=\"IN\" value=\" \"/></query>", q.toXml(1)); }
public void testLessThanEquals() { PathQuery q = new PathQuery(Model.getInstanceByName("testmodel")); q.addConstraint(Constraints.lessThanEqualTo("Employee.length", "-1")); assertEquals("<query name=\"query\" model=\"testmodel\" view=\"\" longDescription=\"\"><constraint path=\"Employee.length\" op=\"<=\" value=\"-1\"/></query>", q.toXml(1)); }
public void testGreaterThanEquals() { PathQuery q = new PathQuery(Model.getInstanceByName("testmodel")); q.addConstraint(Constraints.greaterThanEqualTo("Employee.length", "-1")); assertEquals("<query name=\"query\" model=\"testmodel\" view=\"\" longDescription=\"\"><constraint path=\"Employee.length\" op=\">=\" value=\"-1\"/></query>", q.toXml(1)); }
public void testLoopConstraints() throws Exception { PathQuery pq = new PathQuery(Model.getInstanceByName("testmodel")); pq.addViews("Employee.name"); pq.addViews("Employee.department.manager.name"); pq.addConstraint(new PathConstraintLoop("Employee.department.employees", ConstraintOp.EQUALS, "Employee")); pq.addOrderBy("Employee.name", OrderDirection.ASC); assertEquals(pq.toString(), savedQueries.get("loopConstraint").toString()); // try query with `value` instead of `loopPath` assertEquals(pq.toString(), savedQueries.get("loopConstraintAlt").toString()); }
@Test public void nonNullPathQueryCollections() { PathQuery pq = new PathQuery(osw.getModel()); pq.addView("Department.name"); pq.addConstraint(Constraints.eq("Department.name", "temp-*")); pq.addConstraint(Constraints.isNotNull("Department.employees")); Query q = makeQuery(pq); System.out.println(q.toString()); doNonNullCollectionTests(q); }
@Test public static void testComparison() throws Exception { Model model = Model.getInstanceByName("testmodel"); PathQuery pq = new PathQuery(model); TemplateComparator comparator = new TemplateComparator(); TemplateQuery template = new TemplateQuery(TEMPLATE_NAME, TEMPLATE_TITLE, COMMENT, pq); TemplateQuery anotherTemplate = new TemplateQuery(ATEMPLATE_NAME, ATEMPLATE_TITLE, ACOMMENT, pq); int comparison = comparator.compare(template, anotherTemplate); assertTrue(comparison >1); } }
@Before public void setup() { Model model = Model.getInstanceByName("testmodel"); PathQuery pq = new PathQuery(model); template = new TemplateQuery(TEMPLATE_NAME, TEMPLATE_TITLE, COMMENT, pq); template.addViews("Employee.name", "Employee.department.manager.name"); String code = template.addConstraint(Constraints.eq("Employee.department.name", "Sales")); template.setEditable(template.getConstraintForCode(code), true); switchedOffCode = template.addConstraint(Constraints.eq("Employee.department.manager.name", "B*")); template.setEditable(template.getConstraintForCode(switchedOffCode), true); template.setSwitchOffAbility(template.getConstraintForCode(switchedOffCode), SwitchOffAbility.OFF); }