/** This is a test which expands two paths with cardinalities 1-*-1-*-1 and 1-1-1-*-1. */ public void testQueryJobsDeepExpandAndMultiple() { Query<Job> query = service .createJobQuery("/Job") .expand("jobParts/description/literals/language,jobPosting/name/literals/language"); for (Job job : query) { String jobPostingPath = String.format("/Job(%d)/jobPosting", job.getId()); JobPosting jobPosting = job.getJobPosting(); Assert.assertNotNull("Should have fetched " + jobPostingPath, jobPosting); assertFullExpansionOfMultilingualField(jobPosting.getName(), jobPostingPath + "/name"); if (job.getJobParts() != null) { for (JobPart jobPart : job.getJobParts()) { String jobPartDescriptionPath = String.format("/Job(%d)/jobParts(%d)/description", job.getId(), jobPart.getId()); assertFullExpansionOfMultilingualField(jobPart.getDescription(), jobPartDescriptionPath); } } } }
/** * This test performs expansion and checks parsing of date forms with omitted seconds (Issue #946) * in the expanded hierarchy. */ public void testJobExpansionAndParsingOfShortDates() { Query<Job> query = service .createJobQuery("/Job") .expand("jobParts/description/literals/language,jobPosting/name/literals/language"); for (Job job : query) { Assert.assertNotNull("Failed to parse date, resulting to null value", job.getStartDate()); Assert.assertNotNull("Failed to parse date, resulting to null value", job.getEndDate()); if (job.getJobParts() != null) { for (JobPart jobPart : job.getJobParts()) { Assert.assertNotNull( "Failed to parse date, resulting to null value", jobPart.getStartDate()); Assert.assertNotNull( "Failed to parse date, resulting to null value", jobPart.getEndDate()); } } } }