Search in sources :

Example 41 with MetadataHateoas

use of nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas in project nikita-noark5-core by HiOA-ABI.

the class SignOffMethodService method handleUpdate.

/**
 * Update a SignOffMethod identified by its systemId
 * <p>
 * Copy the values you are allowed to change, code and description
 *
 * @param SignOffMethod
 * @return the updated SignOffMethod
 */
@Override
public MetadataHateoas handleUpdate(String systemId, Long version, SignOffMethod SignOffMethod) {
    SignOffMethod existingSignOffMethod = getSignOffMethodOrThrow(systemId);
    // Copy all the values you are allowed to copy ....
    if (null != existingSignOffMethod.getCode()) {
        existingSignOffMethod.setCode(existingSignOffMethod.getCode());
    }
    if (null != existingSignOffMethod.getDescription()) {
        existingSignOffMethod.setDescription(existingSignOffMethod.getDescription());
    }
    // Note this can potentially result in a NoarkConcurrencyException
    // exception
    existingSignOffMethod.setVersion(version);
    MetadataHateoas SignOffMethodHateoas = new MetadataHateoas(SignOffMethodRepository.save(existingSignOffMethod));
    metadataHateoasHandler.addLinks(SignOffMethodHateoas, new Authorisation());
    applicationEventPublisher.publishEvent(new AfterNoarkEntityUpdatedEvent(this, existingSignOffMethod));
    return SignOffMethodHateoas;
}
Also used : SignOffMethod(nikita.common.model.noark5.v4.metadata.SignOffMethod) Authorisation(nikita.webapp.security.Authorisation) MetadataHateoas(nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas) AfterNoarkEntityUpdatedEvent(nikita.webapp.web.events.AfterNoarkEntityUpdatedEvent)

Example 42 with MetadataHateoas

use of nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas in project nikita-noark5-core by HiOA-ABI.

the class SignOffMethodService method findByCode.

/**
 * retrieve all SignOffMethod that have a particular code.
 * <br>
 * Note, this will be replaced by OData search.
 *
 * @param code
 * @return A list of SignOffMethod objects wrapped as a MetadataHateoas
 * object
 */
@Override
public MetadataHateoas findByCode(String code) {
    MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) SignOffMethodRepository.findByCode(code), SIGN_OFF_METHOD);
    metadataHateoasHandler.addLinks(metadataHateoas, new Authorisation());
    return metadataHateoas;
}
Also used : INikitaEntity(nikita.common.model.noark5.v4.interfaces.entities.INikitaEntity) Authorisation(nikita.webapp.security.Authorisation) List(java.util.List) MetadataHateoas(nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas)

Example 43 with MetadataHateoas

use of nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas in project nikita-noark5-core by HiOA-ABI.

the class VariantFormatService method find.

// find by systemId
/**
 * Retrieve a single VariantFormat object identified by systemId
 *
 * @param systemId systemId of the VariantFormat you wish to retrieve
 * @return single VariantFormat object wrapped as a MetadataHateoas object
 */
@Override
public MetadataHateoas find(String systemId) {
    MetadataHateoas metadataHateoas = new MetadataHateoas(variantFormatRepository.findBySystemId(systemId));
    metadataHateoasHandler.addLinks(metadataHateoas, new Authorisation());
    return metadataHateoas;
}
Also used : Authorisation(nikita.webapp.security.Authorisation) MetadataHateoas(nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas)

Example 44 with MetadataHateoas

use of nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas in project nikita-noark5-core by HiOA-ABI.

the class VariantFormatService method findAll.

// All READ operations
/**
 * Retrieve a list of all VariantFormat objects
 *
 * @return list of VariantFormat objects wrapped as a
 * MetadataHateoas object
 */
@Override
public MetadataHateoas findAll() {
    MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) variantFormatRepository.findAll(), VARIANT_FORMAT);
    metadataHateoasHandler.addLinks(metadataHateoas, new Authorisation());
    return metadataHateoas;
}
Also used : INikitaEntity(nikita.common.model.noark5.v4.interfaces.entities.INikitaEntity) Authorisation(nikita.webapp.security.Authorisation) List(java.util.List) MetadataHateoas(nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas)

Example 45 with MetadataHateoas

use of nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas in project nikita-noark5-core by HiOA-ABI.

the class VariantFormatService method handleUpdate.

/**
 * Update a VariantFormat identified by its systemId
 * <p>
 * Copy the values you are allowed to change, code and description
 *
 * @param systemId      The systemId of the variantFormat object you wish to
 *                      update
 * @param variantFormat The updated variantFormat object. Note the values
 *                      you are allowed to change are copied from this
 *                      object. This object is not persisted.
 * @return the updated variantFormat
 */
@Override
public MetadataHateoas handleUpdate(String systemId, Long version, VariantFormat variantFormat) {
    VariantFormat existingVariantFormat = getVariantFormatOrThrow(systemId);
    // Copy all the values you are allowed to copy ....
    if (null != existingVariantFormat.getCode()) {
        existingVariantFormat.setCode(existingVariantFormat.getCode());
    }
    if (null != existingVariantFormat.getDescription()) {
        existingVariantFormat.setDescription(existingVariantFormat.getDescription());
    }
    // Note this can potentially result in a NoarkConcurrencyException
    // exception
    existingVariantFormat.setVersion(version);
    MetadataHateoas variantFormatHateoas = new MetadataHateoas(variantFormatRepository.save(existingVariantFormat));
    metadataHateoasHandler.addLinks(variantFormatHateoas, new Authorisation());
    applicationEventPublisher.publishEvent(new AfterNoarkEntityUpdatedEvent(this, existingVariantFormat));
    return variantFormatHateoas;
}
Also used : Authorisation(nikita.webapp.security.Authorisation) VariantFormat(nikita.common.model.noark5.v4.metadata.VariantFormat) MetadataHateoas(nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas) AfterNoarkEntityUpdatedEvent(nikita.webapp.web.events.AfterNoarkEntityUpdatedEvent)

Aggregations

MetadataHateoas (nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas)126 Authorisation (nikita.webapp.security.Authorisation)121 List (java.util.List)54 INikitaEntity (nikita.common.model.noark5.v4.interfaces.entities.INikitaEntity)54 Counted (com.codahale.metrics.annotation.Counted)39 ApiOperation (io.swagger.annotations.ApiOperation)39 ApiResponses (io.swagger.annotations.ApiResponses)39 AfterNoarkEntityUpdatedEvent (nikita.webapp.web.events.AfterNoarkEntityUpdatedEvent)17 Timed (com.codahale.metrics.annotation.Timed)15 MetadataHateoas (nikita.model.noark5.v4.hateoas.metadata.MetadataHateoas)15 Authorisation (no.arkivlab.hioa.nikita.webapp.security.Authorisation)12 DocumentMedium (nikita.model.noark5.v4.metadata.DocumentMedium)4 CorrespondencePartType (nikita.common.model.noark5.v4.metadata.CorrespondencePartType)3 DocumentMedium (nikita.common.model.noark5.v4.metadata.DocumentMedium)3 CorrespondencePartType (nikita.model.noark5.v4.metadata.CorrespondencePartType)3 FondsStatus (nikita.model.noark5.v4.metadata.FondsStatus)3 DocumentStatus (nikita.common.model.noark5.v4.metadata.DocumentStatus)2 FondsStatus (nikita.common.model.noark5.v4.metadata.FondsStatus)2 SeriesStatus (nikita.common.model.noark5.v4.metadata.SeriesStatus)2 IMetadataEntity (nikita.common.model.noark5.v4.interfaces.entities.IMetadataEntity)1