@Id @Column(name = "objId", nullable = false, length = 128) @XmlAttribute(name = "objId", required = true) protected String getObjectId() { return mcrObjectId.toString(); }
public List<MCRPIRegistrationInfo> getCreatedIdentifiers(MCRObjectID id, String type, String registrationServiceID) { return MCREntityManagerProvider .getCurrentEntityManager() .createNamedQuery("Get.PI.Created", MCRPIRegistrationInfo.class) .setParameter(MCRID, id.toString()) .setParameter(TYPE, type) .setParameter(SERVICE, registrationServiceID) .getResultList(); }
public boolean isCreated(MCRObjectID id, String additional, String type, String registrationServiceID) { return MCREntityManagerProvider .getCurrentEntityManager() .createNamedQuery("Count.PI.Created", Number.class) .setParameter(MCRID, id.toString()) .setParameter(TYPE, type) .setParameter(ADDITIONAL, additional) .setParameter(SERVICE, registrationServiceID) .getSingleResult() .shortValue() > 0; }
/** * Returns the {@link MIRAccessKeyPair} for given {@link MCRObjectID}. * * @param mcrObjectId the {@link MCRObjectID} * @return the {@link MIRAccessKeyPair} */ public static MIRAccessKeyPair getKeyPair(final MCRObjectID mcrObjectId) { final EntityManager em = MCREntityManagerProvider.getCurrentEntityManager(); return em.find(MIRAccessKeyPair.class, mcrObjectId.toString()); }
public List<MCRPIRegistrationInfo> getRegistered(MCRBase object) { EntityManager em = MCREntityManagerProvider.getCurrentEntityManager(); CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<MCRPIRegistrationInfo> getQuery = cb.createQuery(MCRPIRegistrationInfo.class); Root<MCRPI> pi = getQuery.from(MCRPI.class); return em.createQuery( getQuery .select(pi) .where( cb.equal(pi.get(MCRPI_.mycoreID), object.getId().toString()))) .getResultList(); }
/** * Deletes the access key from given {@link MCRUser} for {@link MCRObjectID}. * * @param user the {@link MCRUser} * @param mcrObjectId the {@link MCRObjectID} */ public static void deleteAccessKey(final MCRUser user, final MCRObjectID mcrObjectId) { user.getAttributes().remove(ACCESS_KEY_PREFIX + mcrObjectId.toString()); MCRUserManager.updateUser(user); }
private static void checkACL(MCRObjectID objectID, String packer) throws MCRAccessException { String permission = "packer-" + packer; if (!MCRAccessManager.checkPermission(objectID, permission)) { throw MCRAccessException.missingPermission("Packing ImageWare packet", objectID.toString(), permission); } if (!MCRAccessManager.checkPermission(objectID, MCRAccessManager.PERMISSION_WRITE)) { throw MCRAccessException.missingPermission("Add packer flag to " + objectID.toString(), objectID.toString(), MCRAccessManager.PERMISSION_WRITE); } }
protected String buildTargetURL(MCRBase obj) { String baseURL = getProperties().get(PURL_BASE_URL); return baseURL + getProperties().getOrDefault(PURL_CONTEXT_CONFIG, DEFAULT_CONTEXT_PATH) .replaceAll("\\$[iI][dD]", obj.getId().toString()); }
private void startUpdateJob(MCRBase obj, MCRPURL purl) { HashMap<String, String> contextParameters = new HashMap<>(); contextParameters.put(CONTEXT_PURL, purl.asString()); contextParameters.put(CONTEXT_OBJECT, obj.getId().toString()); this.addUpdateJob(contextParameters); }
private void startRegisterJob(MCRBase obj, MCRPURL purl) { HashMap<String, String> contextParameters = new HashMap<>(); contextParameters.put(CONTEXT_PURL, purl.asString()); contextParameters.put(CONTEXT_OBJECT, obj.getId().toString()); this.addRegisterJob(contextParameters); }
private void startRegisterJob(MCRBase obj, MCRDigitalObjectIdentifier newDOI) { HashMap<String, String> contextParameters = new HashMap<>(); contextParameters.put(CONTEXT_DOI, newDOI.asString()); contextParameters.put(CONTEXT_OBJ, obj.getId().toString()); this.addRegisterJob(contextParameters); }
private BiConsumer<Supplier<String>, String> persistURNStr(MCRDerivate deriv, Date registerDate, String serviceID) { return (urnSup, path) -> { MCRPI mcrpi = new MCRPI(urnSup.get(), getType(), deriv.getId().toString(), path, serviceID, registerDate); MCREntityManagerProvider.getCurrentEntityManager().persist(mcrpi); }; }
/** * @param id the id of the MyCoReObject as String */ public Entry provideListMetadata(MCRObjectID id) throws SwordError { Entry feedEntry = Abdera.getInstance().newEntry(); feedEntry.setId(id.toString()); MCRSwordUtil.BuildLinkUtil.getEditMediaIRIStream(lifecycleConfiguration.getCollection(), id.toString()) .forEach(feedEntry::addLink); feedEntry.addLink(MCRFrontendUtil.getBaseURL() + MCRSwordConstants.SWORD2_EDIT_IRI + lifecycleConfiguration.getCollection() + "/" + id, "edit"); return feedEntry; }
@Override public DepositReceipt provideMetadata(MCRObject object) throws SwordError { final IRI iri = new IRI(MCRSwordUtil.BuildLinkUtil.getEditHref(this.lifecycleConfiguration.getCollection(), object.getId().toString())); final DepositReceipt depositReceipt = MCRSwordUtil.buildDepositReceipt(iri); addMetadata(object, depositReceipt); final Entry we = depositReceipt.getWrappedEntry(); MCRSwordUtil.BuildLinkUtil .getEditMediaIRIStream(this.lifecycleConfiguration.getCollection(), object.getId().toString()) .forEach(we::addLink); return depositReceipt; }
private void handleBaseCreated(final MCRBase obj) { final MIRAccessKeyPair accKP = MIRAccessKeyPairTransformer.buildAccessKeyPair(obj.createXML().getRootElement()); if (accKP != null) { LOGGER.debug("Create access keys for " + obj.getId().toString()); MIRAccessKeyManager.createKeyPair(accKP); removeAccessKeys(obj); } }
private void handleBaseDeleted(final MCRBase obj) { final MIRAccessKeyPair accKP = MIRAccessKeyPairTransformer.buildAccessKeyPair(obj.createXML().getRootElement()); if (accKP != null) { LOGGER.debug("Delete access keys for " + obj.getId().toString()); MIRAccessKeyManager.deleteKeyPair(accKP.getMCRObjectId()); removeAccessKeys(obj); } }
@Override public MCRPI insertIdentifierToDatabase(MCRBase obj, String additional, MCRDigitalObjectIdentifier identifier) { Date registrationStarted = null; if (getRegistrationCondition(obj.getId().getTypeId()).test(obj)) { registrationStarted = new Date(); startRegisterJob(obj, identifier); } MCRPI databaseEntry = new MCRPI(identifier.asString(), getType(), obj.getId().toString(), additional, this.getServiceID(), provideRegisterDate(obj, additional), registrationStarted); MCRHIBConnection.instance().getSession().save(databaseEntry); return databaseEntry; }
public MCRPI insertIdentifierToDatabase(MCRBase obj, String additional, T identifier) { MCRPI databaseEntry = new MCRPI(identifier.asString(), getType(), obj.getId().toString(), additional, this.getServiceID(), provideRegisterDate(obj, additional), null); MCRHIBConnection.instance().getSession().save(databaseEntry); return databaseEntry; }
protected final void onDelete(T identifier, MCRBase obj, String additional) throws MCRPersistentIdentifierException { delete(identifier, obj, additional); MCRPIManager.getInstance().delete(obj.getId().toString(), additional, getType(), this.getServiceID()); }
protected void validatePermission(MCRBase obj) throws MCRAccessException { String missingPermission; if (!MCRAccessManager.checkPermission(obj.getId(), missingPermission = PERMISSION_WRITE) || !MCRAccessManager .checkPermission(obj.getId(), missingPermission = "register-" + getServiceID())) { throw MCRAccessException .missingPermission("Register a " + type + " & Update object.", obj.getId().toString(), missingPermission); } }