protected void buildInitialProject() { initialProject = new EmployeeProject(); Map<Class, ClassDescriptor> descriptors = initialProject.getDescriptors(); // Amend the employee descriptor ClassDescriptor employeeDescriptor = descriptors.get(Employee.class); DescriptorQueryManager queryManager = employeeDescriptor.getQueryManager(); queryManager.addQuery("PersistenceTestGetEqual", buildPersistenceTestGetEqualQuery()); queryManager.addQuery("PersistenceTestAnyOfEqual", buildPersistenceTestAnyOfEqualQuery()); queryManager.addQuery( "PersistenceTestGetAllowingNullEqual", buildPersistenceTestGetAllowingNullEqualQuery()); queryManager.addQuery( "PersistenceTestAnyOfAllowingNoneEqual", buildPersistenceTestAnyOfAllowingNoneEqualQuery()); queryManager.addQuery( "PersistenceTestGetGreaterThan", buildPersistenceTestGetGreaterThanQuery()); queryManager.addQuery( "PersistenceTestGetGreaterThanEqual", buildPersistenceTestGetGreaterThanEqualQuery()); queryManager.addQuery("PersistenceTestGetIsNull", buildPersistenceTestGetIsNullQuery()); queryManager.addQuery( "PersistenceTestGetEqualIgnoringCase", buildPersistenceTestGetEqualIgnoringCaseQuery()); queryManager.addQuery("PersistenceTestGetLessThan", buildPersistenceTestGetLessThanQuery()); queryManager.addQuery( "PersistenceTestGetLessThanEqual", buildPersistenceTestGetLessThanEqualQuery()); queryManager.addQuery("PersistenceTestGetLike", buildPersistenceTestGetLikeQuery()); queryManager.addQuery("PersistenceTestGetNot", buildPersistenceTestGetNotQuery()); queryManager.addQuery("PersistenceTestGetNotEqual", buildPersistenceTestGetNotEqualQuery()); queryManager.addQuery("PersistenceTestGetNotLike", buildPersistenceTestGetNotLikeQuery()); queryManager.addQuery("PersistenceTestGetNotNull", buildPersistenceTestGetNotNullQuery()); queryManager.addQuery( "PersistenceTestEmptyStringAndNull", buildPersistenceTestEmptyStringAndNull()); queryManager.addQuery( "PersistenceTestGreaterThanEqualDate", buildPersistenceTestGreaterThanEqualDateQuery()); // ReportQuery queryManager.addQuery("AddAttributeReportQuery", buildAddAttributeReportQueryTest()); queryManager.addQuery("AddAverageReportQuery", buildAddAverageReportQueryTest()); queryManager.addQuery("AddCountReportQuery", buildAddCountReportQueryTest()); queryManager.addQuery("AddFunctionItemReportQuery", buildAddFunctionItemReportQueryTest()); queryManager.addQuery("AddGroupingReportQuery", buildAddGroupingReportQueryTest()); queryManager.addQuery("AddItemReportQuery", buildAddItemReportQueryTest()); queryManager.addQuery("AddMaximumReportQuery", buildAddMaximumReportQueryTest()); queryManager.addQuery("AddMinimumReportQuery", buildAddMinimumReportQueryTest()); queryManager.addQuery( "AddStandardDeviationReportQuery", buildAddStandardDeviationReportQueryTest()); queryManager.addQuery("AddSumReportQuery", buildAddSumReportQueryTest()); queryManager.addQuery("AddVarianceReportQuery", buildAddVarianceReportQueryTest()); queryManager.addQuery("AddJoinedObjectLevelReadQuery", buildAddJoinedReportQueryTest()); queryManager.addQuery("AddOrderingReadAllQuery", buildAddOrderingReportQueryTest()); queryManager.addQuery("AddBatchReadReadAllQuery", buildAddBatchReadReportQueryTest()); // Query options buildMemoryQueryReturnConfirmedQuery(queryManager); buildMemoryQueryThrowExceptionQuery(queryManager); buildMemoryQueryReturnNotConfirmedQuery(queryManager); buildMemoryQueryTriggerIndirectionQuery(queryManager); buildCacheQueryResultsQuery(queryManager); buildRefreshIdentityMapResultsQuery(queryManager); buildMaxRowsQuery(queryManager); buildFirstResultQuery(queryManager); buildQueryTimeOutQuery(queryManager); buildUseDistinctQuery(queryManager); buildDoNotUseDistinctQuery(queryManager); buildShouldPrepareQuery(queryManager); buildReadOnlyQuery(queryManager); // Amend the project descriptor ClassDescriptor projectDescriptor = descriptors.get(org.eclipse.persistence.testing.models.employee.domain.Project.class); // Postgres throws an error if you try to set the timeout. if (!TestExecutor.getDefaultExecutor().getSession().getPlatform().isPostgreSQL()) { projectDescriptor.getQueryManager().setQueryTimeout(QUERY_MANAGER_TIMEOUT); } projectDescriptor.setCacheSynchronizationType( ClassDescriptor .SEND_NEW_OBJECTS_WITH_CHANGES); // Setting added for validation only - no tests // currently run against this setting - Bug 3599101 projectDescriptor.setCacheInvalidationPolicy( new NoExpiryCacheInvalidationPolicy()); // Setting added for validation only - no tests // currently run against this setting - Bug 3599101 // Query options buildJoinSubclassesQuery(projectDescriptor.getQueryManager()); // Setting invalidation policies employeeDescriptor.setCacheInvalidationPolicy(new TimeToLiveCacheInvalidationPolicy(10000000)); descriptors .get(Address.class) .setCacheInvalidationPolicy(new TimeToLiveCacheInvalidationPolicy(10000000)); descriptors .get(PhoneNumber.class) .setCacheInvalidationPolicy(new TimeToLiveCacheInvalidationPolicy(10000000)); GregorianCalendar calendar = new GregorianCalendar(); calendar.add(Calendar.HOUR_OF_DAY, 2); descriptors .get(LargeProject.class) .setCacheInvalidationPolicy( new DailyCacheInvalidationPolicy( calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND), calendar.get(Calendar.MILLISECOND))); descriptors .get(SmallProject.class) .setCacheInvalidationPolicy( new DailyCacheInvalidationPolicy( calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND), calendar.get(Calendar.MILLISECOND))); }