public void setup() { getSession().getIdentityMapAccessor().initializeAllIdentityMaps(); allEmployees = new Vector(); queryAll = new ReadAllQuery(); queryAll.setReferenceClass(Employee.class); queryAll.setSelectionCriteria( new ExpressionBuilder().get("address").get("city").greaterThan("Montreal")); allEmployees = (Vector) getSession().executeQuery(queryAll); }
private void addOuterJoinJoiningComplexTest() { ExpressionBuilder emp = new ExpressionBuilder(); ReadAllExpressionTest test = new ReadAllOuterJoinExpressionTest(Project.class, 15); test.setName("OuterJoinJoiningComplexTest"); test.setDescription("Test joining with outer joins"); ReadAllQuery query = new ReadAllQuery(Project.class); query.addJoinedAttribute(emp.getAllowingNull("teamLeader")); test.setQuery(query); addTest(test); }
private void addOuterJoinJoiningTest() { ExpressionBuilder emp = new ExpressionBuilder(); ReadAllExpressionTest test = new ReadAllOuterJoinExpressionTest(Employee.class, 12); test.setName("OuterJoinJoiningTest"); test.setDescription("Test joining with outer joins"); ReadAllQuery query = new ReadAllQuery(Employee.class); query.addJoinedAttribute(emp.getAllowingNull("address")); test.setQuery(query); addTest(test); }
private void addOuterJoinOrderByTest() { ExpressionBuilder emp = new ExpressionBuilder(); ReadAllExpressionTest test = new ReadAllOuterJoinExpressionTest(Employee.class, 12); test.setName("OuterJoinOrderByTest"); test.setDescription("Test order by with outer joins"); ReadAllQuery query = new ReadAllQuery(Employee.class); query.addOrdering(emp.getAllowingNull("address").get("city")); test.setQuery(query); addTest(test); }
protected void test() { query = new ReadAllQuery(); query.setReferenceClass(referenceClass); ReportQuery hierarchyQuery = new ReportQuery(); hierarchyQuery.setReferenceClass(referenceClass); // The #employeeId is what would cause the error hierarchyQuery.setCall(new SQLCall("SELECT EMP_ID FROM EMPLOYEE WHERE MANAGER_ID=#employeeId")); query.setSelectionCriteria(query.getExpressionBuilder().get("id").in(hierarchyQuery)); // want the argument at the top level query query.addArgument("employeeId"); }
public void test() { ReadAllQuery query = new ReadAllQuery(Employee.class); query.dontMaintainCache(); query.addPartialAttribute("nonExistant"); try { getSession().executeQuery(query); } catch (QueryException exception) { if (exception.getErrorCode() == QueryException.SPECIFIED_PARTIAL_ATTRIBUTE_DOES_NOT_EXIST) { correctException = true; } else { correctException = false; throw exception; } } }
private void addOuterJoinJoiningTest2() { ExpressionBuilder emp = new ExpressionBuilder(); ReadAllExpressionTest test = new ReadAllOuterJoinExpressionTest2( org.eclipse.persistence.testing.models.insurance.PolicyHolder.class, 4); test.setName("OuterJoinJoiningTest2"); test.setDescription("Test joining with outer joins"); ReadAllQuery query = new ReadAllQuery(org.eclipse.persistence.testing.models.insurance.PolicyHolder.class); query.addJoinedAttribute(emp.getAllowingNull("address")); test.setQuery(query); addTest(test); }
public static TestSuite getReadAllTestSuite() { TestSuite suite = new TestSuite(); suite.setName("InterfaceWithoutTablesReadAllTestSuite"); suite.setDescription( "This suite tests the reading of all the objects of each class in the interface model (without tables)."); ReadAllQuery query = new ReadAllQuery(); query.setReferenceClass(Unionized.class); query.useCollectionClass(java.util.ArrayList.class); ReadAllTest aTest = new ReadAllTest(Unionized.class, 6); aTest.setQuery(query); suite.addTest(aTest); suite.addTest(new ReadAllTest(Actor.class, 4)); suite.addTest(new ReadAllTest(Documentary.class, 1)); suite.addTest(new ReadAllTest(Film.class, 3)); suite.addTest(new ReadAllTest(Job.class, 18)); suite.addTest(new ReadAllTest(ManagerialJob.class, 6)); suite.addTest(new ReadAllTest(VIP.class, 3)); // Used to test Cursored Streams ReadAllTest test = new ReadAllTest(VIP.class, 3); test.setQuery(new ReadAllQuery()); test.getQuery().setReferenceClass(VIP.class); test.getQuery().useCursoredStream(); suite.addTest(test); // Test the non-availability of batch reading test = new ReadAllBatchTest(Employee.class, 3); test.setName("Batch Read Test"); test.setQuery(new ReadAllQuery()); test.getQuery().setReferenceClass(Employee.class); test.getQuery().addBatchReadAttribute("contact"); suite.addTest(test); suite.addTest(new OneToManyVariableBackBatchReadingTest()); // Test cascading test = new ReadAllTest(Employee.class, 4); test.setQuery(new ReadAllQuery()); test.getQuery().setReferenceClass(Employee.class); test.getQuery().cascadeAllParts(); suite.addTest(test); suite.addTest(new ReadAllTest(Employee.class, 4)); suite.addTest(new ReadAllConformInUowTest()); return suite; }
private void addOuterJoinAcrossInheritanceTest() { ExpressionBuilder emp = new ExpressionBuilder(); ReadAllExpressionTest test = new ReadAllOuterJoinExpressionTest( org.eclipse.persistence.testing.models.inheritance.Person.class, 1); test.setName("OuterJoinAcrossInheritanceTest"); test.setDescription("Test joining with outer joins across inheritance"); ReadAllQuery query = new ReadAllQuery(org.eclipse.persistence.testing.models.inheritance.Person.class); // This test used to make no sense... // query.setSelectionCriteria(emp.getAllowingNull("representitive").get("name").equalOuterJoin("Richard")); query.addOrdering(emp.getAllowingNull("representitive").get("name")); test.setQuery(query); addTest(test); }
public void setup() { getSession().getIdentityMapAccessor().initializeIdentityMaps(); getAbstractSession().beginTransaction(); descriptor = getSession().getProject().getDescriptors().get(Employee.class); // Read Object readObjectQuery = descriptor.getQueryManager().getReadObjectQuery(); QueryRedirector redirector = new MethodBaseQueryRedirector(RedirectorOnDescriptorTest.class, "readObject"); ReadObjectQuery roq = new ReadObjectQuery(descriptor.getJavaClass()); roq.setRedirector(redirector); descriptor.getQueryManager().setReadObjectQuery(roq); // Read All readAllQuery = descriptor.getQueryManager().getReadAllQuery(); redirector = new MethodBaseQueryRedirector(RedirectorOnDescriptorTest.class, "readAll"); ReadAllQuery raq = new ReadAllQuery(descriptor.getJavaClass()); raq.setRedirector(redirector); descriptor.getQueryManager().setReadAllQuery(raq); // Delete Object deleteObjectQuery = descriptor.getQueryManager().getDeleteQuery(); redirector = new MethodBaseQueryRedirector(RedirectorOnDescriptorTest.class, "deleteObject"); DeleteObjectQuery doq = new DeleteObjectQuery(); doq.setRedirector(redirector); descriptor.getQueryManager().setDeleteQuery(doq); // Insert Object insertQuery = descriptor.getQueryManager().getInsertQuery(); redirector = new MethodBaseQueryRedirector(RedirectorOnDescriptorTest.class, "insertObject"); InsertObjectQuery ioq = new InsertObjectQuery(); ioq.setRedirector(redirector); descriptor.getQueryManager().setInsertQuery(ioq); // Update Object updateQuery = descriptor.getQueryManager().getUpdateQuery(); redirector = new MethodBaseQueryRedirector(RedirectorOnDescriptorTest.class, "updateObject"); UpdateObjectQuery uoq = new UpdateObjectQuery(); uoq.setRedirector(redirector); descriptor.getQueryManager().setUpdateQuery(uoq); }
protected void test() { for (int i = 0; i <= 1; i++) { getSession().getPlatform().setShouldBindAllParameters(i != 0); for (int j = 0; j <= 2; j++) { query = new ReadAllQuery(Employee.class); ExpressionBuilder builder = new ExpressionBuilder(); Vector vExp = new Vector(2); vExp.add(builder.getParameter("p1")); query.addArgument("p1"); vExp.add(builder.getParameter("p2")); query.addArgument("p2"); Expression exp = builder.get("id").in(vExp); query.setSelectionCriteria(exp); switch (j) { case 0: // nothing to do - just test the default: // query.bindAllParameters == Undefined break; case 1: // query.bindAllParameters == False query.setShouldBindAllParameters(false); break; case 2: // query.bindAllParameters == True query.setShouldBindAllParameters(true); break; } // clear the writer's buffer ((StringWriter) getSession().getLog()).getBuffer().setLength(0); try { getSession().executeQuery(query, v); } catch (DatabaseException e) { throw new TestProblemException("executeQuery threw DatabaseException"); } if (shouldBind() != wasBound()) { return; } } } }
public void setup() { // JGL: If the arguments are already set by the test, don't // set them again if (!hasArguments()) { setArgumentsForTestUsing(getSomeEmployees()); } ReadAllQuery raq = new ReadAllQuery(); raq.setReferenceClass(Employee.class); raq.setSelectionCriteria(getOriginalObjectExpression()); // Add all the arguments to the query Enumeration enumtr = getExpressionParameters().elements(); while (enumtr.hasMoreElements()) { raq.addArgument((String) enumtr.nextElement()); } // Save the retrieved employees for the verify setOriginalOject(getSession().executeQuery(raq, getArguments())); // Finish the setup super.setup(); }
public void test() { ReadAllQuery q = new ReadAllQuery(); q.setBatchFetchType(batchType); q.setReferenceClass(Shipment.class); q.addBatchReadAttribute("employee"); q.setSelectionCriteria( q.getExpressionBuilder() .get("employee") .get("address") .equal(q.getExpressionBuilder().getParameter("ADDRESS"))); q.addArgument("ADDRESS"); Vector r = new Vector(); r.addElement("885 Meadowlands Dr."); UnitOfWork uow = getSession().acquireUnitOfWork(); v = (java.util.Vector) uow.executeQuery(q, r); }
protected boolean shouldBind() { return (!query.shouldIgnoreBindAllParameters() && query.shouldBindAllParameters()) || (query.shouldIgnoreBindAllParameters() && getSession().getPlatform().shouldBindAllParameters()); }
public void test() { ReadAllQuery query = new ReadAllQuery(); ScrollableCursor cursor = null; try { query.setReferenceClass(Employee.class); if (TYPE_SCROLL_INSENSITIVE_isSupported && CONCUR_UPDATABLE_isSupported) { query.useScrollableCursor(2); } else { ScrollableCursorPolicy policy = new ScrollableCursorPolicy(); if (!TYPE_SCROLL_INSENSITIVE_isSupported) { policy.setResultSetType(ScrollableCursorPolicy.TYPE_SCROLL_SENSITIVE); } if (!CONCUR_UPDATABLE_isSupported) { policy.setResultSetConcurrency(ScrollableCursorPolicy.CONCUR_READ_ONLY); } policy.setPageSize(2); query.useScrollableCursor(policy); } // if (configuration != null) { ExpressionBuilder builder = new ExpressionBuilder(); Expression exp = builder.get("salary").greaterThan(50000); query.setSelectionCriteria(exp); query.conformResultsInUnitOfWork(); } cursor = (ScrollableCursor) getSession().executeQuery(query); try { // test to see if we can iterate through a list and then iterate // in reverse through the same list. int totalItems = 0; while (cursor.hasNext()) { readWithNext.addElement(cursor.next()); totalItems++; } while (cursor.hasPrevious()) { readWithPrevious.addElement(cursor.previous()); totalItems--; } cursorSuccess = (totalItems == 0); int size = readWithPrevious.size(); for (int i = 0; i < readWithNext.size(); i++) { cursorSuccess = (cursorSuccess && (readWithNext.elementAt(i) == readWithPrevious.elementAt((size - 1) - i))); } } catch (org.eclipse.persistence.exceptions.QueryException ex) { caughtException = ex; } } finally { if (cursor != null) { cursor.close(); } } }
public void test() { ReadAllQuery query = new ReadAllQuery(); if (configuration != null) { ExpressionBuilder emp = new ExpressionBuilder(); Expression exp = emp.get("salary").greaterThan(50000); query.setSelectionCriteria(exp); query.conformResultsInUnitOfWork(); } ScrollableCursor cursor = null; try { query.setReferenceClass(Employee.class); if (TYPE_SCROLL_INSENSITIVE_isSupported && CONCUR_UPDATABLE_isSupported) { query.useScrollableCursor(2); } else { ScrollableCursorPolicy policy = new ScrollableCursorPolicy(); if (!TYPE_SCROLL_INSENSITIVE_isSupported) { policy.setResultSetType(ScrollableCursorPolicy.TYPE_SCROLL_SENSITIVE); } if (!CONCUR_UPDATABLE_isSupported) { policy.setResultSetConcurrency(ScrollableCursorPolicy.CONCUR_READ_ONLY); } policy.setPageSize(2); query.useScrollableCursor(policy); } cursor = (ScrollableCursor) getSession().executeQuery(query); try { boolean isFirst = cursor.first(); if (!cursor.isFirst() || !isFirst) { navigationError = "cursor.first() does not result in cursor.isFirst() returning true."; } Object second = cursor.next(); Object first = cursor.previous(); if (first.equals(second)) { navigationError = "cursor.next() and cursor.previous() are not complementary."; } if (!second.equals(cursor.next())) { navigationError = "cursor.next() does not move the cursor forward."; } boolean isRelative = cursor.relative(1); if (!isRelative || !second.equals(cursor.previous())) { navigationError = "cursor.relative() does not move the cursor the proper number of spaces."; } boolean isAbsolute = cursor.absolute(1); if (!second.equals(cursor.next())) { navigationError = "cursor.absolute(0) move a cursor to the beginning of the cursor."; } cursor.beforeFirst(); if (!cursor.isBeforeFirst()) { navigationError = "cursor.beforeFirst() does not result in cursor.isBeforeFirst() returning true."; } if (!first.equals(cursor.next())) { navigationError = "cursor.beforeFirst() does not set the cursor position properly."; } boolean isLast = cursor.last(); if (!isLast || !cursor.isLast()) { navigationError = "cursor.last() does not result in cursor.isLast() returning true."; } cursor.afterLast(); if (!cursor.isAfterLast()) { navigationError = "cursor.afterLast() does not result in cursor.isAfterLast() returning true."; } Object last = cursor.previous(); int size = cursor.size(); cursor.relative(size); Object lastBySize = cursor.previous(); if (!last.equals(lastBySize)) { navigationError = "The last item in the list is not correct."; } } catch (org.eclipse.persistence.exceptions.QueryException ex) { caughtException = ex; } } finally { if (cursor != null) { cursor.close(); } } }
/** Read all employees with salary > 0. */ public void test() throws Exception { ReadAllQuery query = new ReadAllQuery(Employee.class); ExpressionBuilder builder = new ExpressionBuilder(); query.setSelectionCriteria(builder.get("salary").greaterThan(0)); List results = (List) getSession().executeQuery(query); }