Search in sources :

Example 86 with MetadataHateoas

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

the class ElectronicSignatureSecurityLevelService method findByDescription.

/**
 * Retrieve all ElectronicSignatureSecurityLevel that have a given
 * description.
 * <br>
 * Note, this will be replaced by OData search.
 *
 * @param description Description of object you wish to retrieve. The
 *                    whole text, this is an exact search.
 * @return A list of ElectronicSignatureSecurityLevel objects wrapped as a
 * MetadataHateoas object
 */
@Override
public MetadataHateoas findByDescription(String description) {
    MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) electronicSignatureSecurityLevelRepository.findByDescription(description), ELECTRONIC_SIGNATURE_SECURITY_LEVEL);
    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 87 with MetadataHateoas

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

the class ElectronicSignatureSecurityLevelService method findAll.

// All READ operations
/**
 * Retrieve a list of all ElectronicSignatureSecurityLevel objects
 *
 * @return list of ElectronicSignatureSecurityLevel objects wrapped as a
 * MetadataHateoas object
 */
@Override
public MetadataHateoas findAll() {
    MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) electronicSignatureSecurityLevelRepository.findAll(), ELECTRONIC_SIGNATURE_SECURITY_LEVEL);
    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 88 with MetadataHateoas

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

the class ElectronicSignatureSecurityLevelService method find.

// find by systemId
/**
 * Retrieve a single ElectronicSignatureSecurityLevel object identified by
 * systemId
 *
 * @param systemId systemId of the ElectronicSignatureSecurityLevel you wish
 *                 to retrieve
 * @return single ElectronicSignatureSecurityLevel object wrapped as a
 * MetadataHateoas object
 */
@Override
public MetadataHateoas find(String systemId) {
    MetadataHateoas metadataHateoas = new MetadataHateoas(electronicSignatureSecurityLevelRepository.save(electronicSignatureSecurityLevelRepository.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 89 with MetadataHateoas

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

the class ElectronicSignatureSecurityLevelService method handleUpdate.

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

Example 90 with MetadataHateoas

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

the class ElectronicSignatureSecurityLevelService method createNewElectronicSignatureSecurityLevel.

// All CREATE operations
/**
 * Persists a new ElectronicSignatureSecurityLevel object to the database.
 *
 * @param electronicSignatureSecurityLevel ElectronicSignatureSecurityLevel
 *                                         object with values set
 * @return the newly persisted ElectronicSignatureSecurityLevel object
 * wrapped as a MetadataHateoas object
 */
@Override
public MetadataHateoas createNewElectronicSignatureSecurityLevel(ElectronicSignatureSecurityLevel electronicSignatureSecurityLevel) {
    electronicSignatureSecurityLevel.setDeleted(false);
    electronicSignatureSecurityLevel.setOwnedBy(SecurityContextHolder.getContext().getAuthentication().getName());
    MetadataHateoas metadataHateoas = new MetadataHateoas(electronicSignatureSecurityLevelRepository.save(electronicSignatureSecurityLevel));
    metadataHateoasHandler.addLinks(metadataHateoas, new Authorisation());
    return metadataHateoas;
}
Also used : Authorisation(nikita.webapp.security.Authorisation) MetadataHateoas(nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas)

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