Search in sources :

Example 1 with PrecedenceStatus

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

the class PrecedenceStatusService method createNewPrecedenceStatus.

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

Example 2 with PrecedenceStatus

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

the class PrecedenceStatusService method getPrecedenceStatusOrThrow.

/**
 * Internal helper method. Rather than having a find and try catch in
 * multiple methods, we have it here once. If you call this, be aware
 * that you will only ever get a valid PrecedenceStatus object back. If
 * there is no PrecedenceStatus object, a NoarkEntityNotFoundException
 * exception is thrown
 *
 * @param systemId The systemId of the PrecedenceStatus object to retrieve
 * @return the PrecedenceStatus object
 */
private PrecedenceStatus getPrecedenceStatusOrThrow(@NotNull String systemId) {
    PrecedenceStatus precedenceStatus = precedenceStatusRepository.findBySystemId(systemId);
    if (precedenceStatus == null) {
        String info = INFO_CANNOT_FIND_OBJECT + " PrecedenceStatus,  " + "using systemId " + systemId;
        logger.error(info);
        throw new NoarkEntityNotFoundException(info);
    }
    return precedenceStatus;
}
Also used : NoarkEntityNotFoundException(nikita.common.util.exceptions.NoarkEntityNotFoundException) PrecedenceStatus(nikita.common.model.noark5.v4.metadata.PrecedenceStatus)

Example 3 with PrecedenceStatus

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

the class PrecedenceStatusService method findByDescription.

/**
 * Retrieve all PrecedenceStatus 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 PrecedenceStatus objects wrapped as a MetadataHateoas
 * object
 */
@Override
public MetadataHateoas findByDescription(String description) {
    MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) precedenceStatusRepository.findByDescription(description), PRECEDENCE_STATUS);
    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 4 with PrecedenceStatus

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

the class PrecedenceStatusService method handleUpdate.

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

Example 5 with PrecedenceStatus

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

the class PrecedenceStatusService method find.

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

Aggregations

MetadataHateoas (nikita.common.model.noark5.v4.hateoas.metadata.MetadataHateoas)6 Authorisation (nikita.webapp.security.Authorisation)6 List (java.util.List)3 INikitaEntity (nikita.common.model.noark5.v4.interfaces.entities.INikitaEntity)3 PrecedenceStatus (nikita.common.model.noark5.v4.metadata.PrecedenceStatus)3 NoarkEntityNotFoundException (nikita.common.util.exceptions.NoarkEntityNotFoundException)1 AfterNoarkEntityUpdatedEvent (nikita.webapp.web.events.AfterNoarkEntityUpdatedEvent)1