public void update(DOReader reader) throws ServerException { m_wrappedFieldSearch.update(reader); }
public void update(DOReader reader) throws ServerException { m_wrappedFieldSearch.update(reader); }
@Test public void testFindOneSeveralTimesNoDC() throws Exception { init(maxResultsDefault, maxSecondsPerSessionDefault, true); // add one object to index String pid1 = "test:1"; DigitalObject obj1 = getTestObject(pid1, pid1); setDates(obj1, new Date()); m_repo.putObject(obj1); DOReader reader1 = m_repo.getReader(false, null, pid1); m_impl.update(reader1); // query for everything several times // should get 1 page w/1 result each time // and cPool shouldn't be exhausted because the impl should // release each connection immediately after the query completes FieldSearchQuery query = new FieldSearchQuery("*"); int[] expected = new int[] { 1, 1 }; for (int i = 0; i < 20; i++) { checkResults(expected, countResults(query, 10)); } }
@Test public void testIndexAndFindByDCIdentifier() throws Exception { init(maxResultsDefault, maxSecondsPerSessionDefault, true); // add one object with DC to index String pid1 = "test:1"; DigitalObject obj1 = getTestObject(pid1, pid1); String dcContent = "<dc:identifier>" + pid1 + "</dc:identifier>"; addXDatastream(obj1, "DC", getDC(dcContent)); setDates(obj1, new Date()); m_repo.putObject(obj1); DOReader reader1 = m_repo.getReader(false, null, pid1); m_impl.update(reader1); // query for it via dc:identifier FieldSearchQuery query = new FieldSearchQuery(Condition.getConditions("identifier~" + pid1)); int[] expected = new int[] { 1, 1 }; // first try with client requesting max TEN results per page // should get 1 page w/1 result checkResults(expected, countResults(query, 10)); // then try same, but with client requesting max ONE result per page // should still get 1 page w/1 result checkResults(expected, countResults(query, 1)); }
private void updateRecord(ObjectData objectData, boolean longFields) throws ServerException { // Create a DC datastream if appropriate. DatastreamXMLMetadata dcmd = null; if (objectData.getDcPayload() != null) { dcmd = new DatastreamXMLMetadata(); dcmd.DatastreamID = "DC"; dcmd.DSCreateDT = objectData.getDcModifiedDate(); dcmd.xmlContent = objectData.getDcPayload().getBytes(); } // Create the object and populate it. BasicDigitalObject theObject = new BasicDigitalObject(); theObject.setPid(objectData.getPid()); theObject.setLabel(objectData.getLabel()); theObject.setState(objectData.getState()); theObject.setOwnerId(objectData.getOwnerId()); theObject.setCreateDate(objectData.getCreateDate()); theObject.setLastModDate(objectData.getLastModDate()); if (dcmd != null) { theObject.addDatastreamVersion(dcmd, false); } // Create the test instance. FieldSearchSQLImpl fssi = new FieldSearchSQLImpl(this.connectionPool, this.mockRepositoryReader, 50, 50, longFields); // And do the update. fssi.update(new MockDOReader(theObject)); }