private MCRObject handleFeedEntry(SyndEntry entry, String projectID) throws MCRPersistenceException, MCRAccessException { String publicationID = getPublicationID(entry); if (publicationID == null) { return null; } if (isAlreadyStored(publicationID)) { LOGGER.info("publication with ID {} already existing, will not import.", publicationID); return null; } LOGGER.info("publication with ID {} does not exist yet, retrieving data...", publicationID); Element publicationXML = retrieveAndConvertPublication(publicationID); if (shouldIgnore(publicationXML)) { LOGGER.info("publication will be ignored, do not store."); return null; } MCRObject obj = buildMCRObject(publicationXML, projectID); MCRMetadataManager.create(obj); return obj; }
private static MCRObjectID saveAsMyCoReObject(String projectID, Element modsRoot) throws MCRActiveLinkException, MCRPersistenceException, MCRAccessException { MCRObject mcrObject = MCRMODSWrapper.wrapMODSDocument(modsRoot, projectID); mcrObject.setId(MCRObjectID.getNextFreeId(mcrObject.getId().getBase())); MCRMetadataManager.create(mcrObject); return mcrObject.getId(); }
return Response.status(Response.Status.NO_CONTENT).build(); } else { MCRMetadataManager.create(updatedObject); return Response.status(Response.Status.CREATED).build();
.setInternals(new MCRMetaIFS("internal", UPLOAD_DIR.resolve(derID.toString()).toString())); MCRMetadataManager.create(mcrDerivate); MCRMetadataManager.addOrUpdateDerivateToObject(mcrObjIDObj, new MCRMetaLinkID("derobject", derID, null, label));
MCRMetadataManager.create(derivate); MCRPath rootDir = MCRPath.getPath(derid.toString(), "/"); if (Files.notExists(rootDir)) {
MCRMetadataManager.create(derivate); } catch (MCRAccessException e) { throw new ForbiddenException(e);
private static MCRDerivate createDerivate(MCRObjectID documentID, File fileDir) throws MCRPersistenceException, IOException, MCRAccessException { MCRDerivate derivate = new MCRDerivate(); derivate.setId(MCRObjectID.getNextFreeId(documentID.getProjectId(), "derivate")); derivate.setLabel("data object from " + documentID); String schema = CONFIG.getString("MCR.Metadata.Config.derivate", "datamodel-derivate.xml").replaceAll(".xml", ".xsd"); derivate.setSchema(schema); MCRMetaLinkID linkId = new MCRMetaLinkID(); linkId.setSubTag("linkmeta"); linkId.setReference(documentID, null, null); derivate.getDerivate().setLinkMeta(linkId); MCRMetaIFS ifs = new MCRMetaIFS(); ifs.setSubTag("internal"); ifs.setSourcePath(fileDir.getAbsolutePath()); derivate.getDerivate().setInternals(ifs); LOGGER.debug("Creating new derivate with ID {}", derivate.getId()); MCRMetadataManager.create(derivate); setDefaultPermissions(derivate.getId()); return derivate; }
private MCRObjectID createRelatedObject(Element relatedItem, MCRObjectID childID) throws MCRPersistenceException, MCRAccessException { MCRMODSWrapper wrapper = new MCRMODSWrapper(); MCRObject object = wrapper.getMCRObject(); MCRObjectID oid = MCRObjectID.getNextFreeId(childID.getBase()); if (oid.equals(childID)) { oid = MCRObjectID.getNextFreeId(childID.getBase()); } object.setId(oid); if (isHost(relatedItem)) { object.getStructure().addChild(new MCRMetaLinkID("child", childID, childID.toString(), childID.toString())); } Element mods = cloneRelatedItem(relatedItem); wrapper.setMODS(mods); LOGGER.info("create object {}", oid); MCRMetadataManager.create(object); return oid; }
@Override public MCRObjectID ingestMetadata(Deposit entry) throws SwordError, SwordServerException { final MCRObjectID newObjectId = MCRObjectID .getNextFreeId(MCRConfiguration.instance().getString("MIR.projectid.default") + "_mods"); final Map<String, List<String>> dublinCoreMetadata = entry.getSwordEntry().getDublinCore(); Document dcDocument = buildDCDocument(dublinCoreMetadata); Document convertedDocument = convertDCToMods(dcDocument); final MCRObject mcrObject = MCRMODSWrapper.wrapMODSDocument(convertedDocument.detachRootElement(), newObjectId.getProjectId()); mcrObject.setId(newObjectId); try { MCRMetadataManager.create(mcrObject); } catch (MCRAccessException e) { throw new SwordError(UriRegistry.ERROR_BAD_REQUEST, HttpServletResponse.SC_UNAUTHORIZED, e.getMessage()); } return newObjectId; }
MCRMetadataManager.create(derivate);