(DOManager) m_server
.getModule("org.fcrepo.server.storage.DOManager");
FieldSearch fieldSearch =
(FieldSearch) m_server
.getModule("org.fcrepo.server.search.FieldSearch");
PIDGenerator pidGenerator =
(PIDGenerator) m_server
.getModule("org.fcrepo.server.management.PIDGenerator");
// SET OBJECT PROPERTIES:
logger.debug("Rebuild: Setting object/component states and create dates if unset...");
// set object state to "A" (Active) if not already set
if (obj.getState() == null || obj.getState().equals("")) {
obj.setState("A");
}
// set object create date to UTC if not already set
if (obj.getCreateDate() == null || obj.getCreateDate().equals("")) {
obj.setCreateDate(nowUTC);
}
// set object last modified date to UTC
obj.setLastModDate(nowUTC);
// SET OBJECT PROPERTIES:
logger.debug("Rebuild: Setting object/component states and create dates if unset...");
// set object state to "A" (Active) if not already set
if (obj.getState() == null || obj.getState().equals("")) {
obj.setState("A");
}
// set object create date to UTC if not already set
if (obj.getCreateDate() == null || obj.getCreateDate().equals("")) {
obj.setCreateDate(nowUTC);
}
// set object last modified date to UTC
obj.setLastModDate(nowUTC);
// SET DATASTREAM PROPERTIES...
Iterator<String> dsIter = obj.datastreamIdIterator();
while (dsIter.hasNext()) {
for (Datastream ds : obj.datastreams(dsIter.next())) {
// Set create date to UTC if not already set
if (ds.DSCreateDT == null || ds.DSCreateDT.equals("")) {
ds.DSCreateDT = nowUTC;
}
// Set state to "A" (Active) if not already set
if (ds.DSState == null || ds.DSState.equals("")) {
ds.DSState = "A";
}
}
}
// PID GENERATION:
// have the system generate a PID if one was not provided
logger.debug("INGEST: Stream contained PID with retainable namespace-id... will use PID from stream.");
try {
pidGenerator.neverGeneratePID(obj.getPid());
} catch (IOException e) {
throw new RuntimeException("Error calling pidGenerator.neverGeneratePID(): "
+ e.getMessage(),
e);
}