/** * Build a Log entry to use in Fedora. Replace all the template placeholders * * @param object The Object being submitted * @param pid The PID in our system */ private String fedoraLogEntry(DigitalObject object, String pid) { String message = fedoraMessageTemplate.replace("[[PID]]", pid); return message.replace("[[OID]]", object.getId()); }
/** * Build a Log entry to use in Fedora. Replace all the template placeholders * * @param object : The Object being submitted * @param pid : The PID in our system */ private String fedoraLogEntry(DigitalObject object, String pid) { String message = fedoraMessageTemplate.replace("[[PID]]", pid); return message.replace("[[OID]]", object.getId()); }
/** * Transform method * * @param object DigitalObject to be transformed * @param jsonConfig String containing configuration for this item * @return DigitalObject The object after being transformed * @throws TransformerException */ @Override public DigitalObject transform(DigitalObject in, String jsonConfig) throws TransformerException { if (!valid) { error("Instantiation did not complete."); } log.debug("Received OID '{}'", in.getId()); return process(in, jsonConfig); }
String user = props.getProperty("userPriority"); if (user != null && user.equals("true")) { log.info("User priority flag set: '{}'", object.getId()); plugins.add(CRITICAL_USER_SELECTOR); props.remove("userPriority");
for (String name : pluginList) { if (transformers.containsKey(name)) { log.info("Starting '{}' on '{}'...", name, object.getId()); object = transformers.get(name).transform(object, itemConfig.toString()); log.info("Finished '{}' on '{}'", name, object.getId()); } catch (Exception ex) { log.error("Error during transformer '" + name + "' on object '" + object.getId() + "'", ex);
props.setProperty("objectId", object.getId()); props.setProperty("scriptType", config.getString(null, "indexer", "script", "type")); props.setProperty("rulesOid", rulesObject.getId()); props.setProperty("rulesPid", rulesObject.getSourceId()); props.setProperty("jsonConfigOid", configObject.getId()); props.setProperty("jsonConfigPid", configObject.getSourceId());
throws Exception { File directory = new File(tmpDir, object.getId()); File target = new File(directory, pid); if (!target.exists()) {
throws Exception { File directory = new File(tmpDir, object.getId()); File target = new File(directory, pid); if (!target.exists()) {
/** * Start to process indexing * * @param object Object to be processed * @param rulesOid Rule used for indexing the object * @param indexerParams Additional parameter for indexing purpose * @return Processed object id * @throws StorageException If error when retrieveing the object * @throws IOException If object file not found */ private String processObject(DigitalObject object, String rulesOid, JsonObject indexerParams, boolean commit) throws StorageException, IOException { String oid = object.getId(); String sid = null; log.info("Processing " + oid + "..."); try { indexer.index(oid); if (commit) { indexer.commit(); } } catch (IndexerException e) { e.printStackTrace(); } return sid; }
objectMetadata.put("objectId", recordObject.getId()); objectMetadata.put("render-pending", "true"); objectMetadata.put("owner", "admin"); objectMetadata.setProperty("scriptType", scriptType); objectMetadata.setProperty("rulesOid", rulesObject.getId()); objectMetadata.setProperty("rulesPid", rulesObject.getSourceId()); objectMetadata.setProperty("jsonConfigOid", rulesConfigObject.getId()); objectMetadata.setProperty("jsonConfigPid", rulesConfigObject.getSourceId());
String oid = object.getId(); sendNotification(oid, "indexStart", "Indexing '" + oid + "' started");
indexer.index(object.getId()); if (autoCommit || config.getBoolean(false, "commit")) { indexer.commit();
String oid = object.getId(); String pid = payload.getId();
pId = createPid(template, in.getId()); if (pId == null) { log.error("Error during Persistent ID creation!");
objectMetadata.setProperty("scriptType", scriptType); objectMetadata.setProperty("rulesOid", rulesObject.getId()); objectMetadata.setProperty("rulesPid", rulesObject.getSourceId()); objectMetadata.setProperty("jsonConfigOid", rulesConfigObject.getId()); objectMetadata.setProperty("jsonConfigPid", rulesConfigObject.getSourceId());
/** * Update the harvest file in storage if required * * @param file The harvest file to store * @return DigitalObject The storage object with the file * @throws StorageException If storage failed */ private DigitalObject updateHarvestFile(File file) throws StorageException { // Check the file in storage DigitalObject object = StorageUtils.checkHarvestFile(storage, file); // log.info("=== Check harvest file: '{}'=> '{}'", file.getName(), // object); if (object != null) { // If we got an object back its new or updated JsonObject message = new JsonObject(); message.put("type", "harvest-update"); message.put("oid", object.getId()); try { messaging.queueMessage("houseKeeping", message.toString()); } catch (MessagingException ex) { log.error("Error sending message: ", ex); } } else { // Otherwise grab the existing object String oid = StorageUtils.generateOid(file); object = StorageUtils.getDigitalObject(storage, oid); // log.info("=== Try again: '{}'=> '{}'", file.getName(), object); } return object; }
String oid = in.getId();
if (title == null) { error("No title provided in Object form data!\nOID: '" + object.getId() + "'"); return;
} catch (IOException ex) { log.error("Error parsing existing JSON: '{}' => '{}'", object.getId(), payloadId); throw new HarvesterException( "Error parsing existing JSON: ", ex);