Search in sources :

Example 1 with CommentType

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

the class CommentTypeService method findByDescription.

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

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

the class CommentTypeService method findAll.

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

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

the class CommentTypeService method generateDefaultCommentType.

/**
 * Generate a default CommentType object
 *
 * @return the CommentType object wrapped as a CommentTypeHateoas object
 */
@Override
public CommentType generateDefaultCommentType() {
    CommentType commentType = new CommentType();
    commentType.setCode(TEMPLATE_COMMENT_TYPE_CODE);
    commentType.setDescription(TEMPLATE_COMMENT_TYPE_DESCRIPTION);
    return commentType;
}
Also used : CommentType(nikita.common.model.noark5.v4.metadata.CommentType)

Example 4 with CommentType

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

the class CommentTypeService method createNewCommentType.

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

Example 5 with CommentType

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

the class CommentTypeService method handleUpdate.

/**
 * Update a CommentType identified by its systemId
 * <p>
 * Copy the values you are allowed to change, code and description
 *
 * @param systemId    The systemId of the commentType object you wish to
 *                    update
 * @param commentType The updated commentType object. Note the values
 *                    you are allowed to change are copied from this
 *                    object. This object is not persisted.
 * @return the updated commentType
 */
@Override
public MetadataHateoas handleUpdate(String systemId, Long version, CommentType commentType) {
    CommentType existingCommentType = getCommentTypeOrThrow(systemId);
    // Copy all the values you are allowed to copy ....
    if (null != existingCommentType.getCode()) {
        existingCommentType.setCode(existingCommentType.getCode());
    }
    if (null != existingCommentType.getDescription()) {
        existingCommentType.setDescription(existingCommentType.getDescription());
    }
    // Note this can potentially result in a NoarkConcurrencyException
    // exception
    existingCommentType.setVersion(version);
    MetadataHateoas commentTypeHateoas = new MetadataHateoas(commentTypeRepository.save(existingCommentType));
    metadataHateoasHandler.addLinks(commentTypeHateoas, new Authorisation());
    applicationEventPublisher.publishEvent(new AfterNoarkEntityUpdatedEvent(this, existingCommentType));
    return commentTypeHateoas;
}
Also used : CommentType(nikita.common.model.noark5.v4.metadata.CommentType) Authorisation(nikita.webapp.security.Authorisation) 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)6 Authorisation (nikita.webapp.security.Authorisation)6 List (java.util.List)3 INikitaEntity (nikita.common.model.noark5.v4.interfaces.entities.INikitaEntity)3 CommentType (nikita.common.model.noark5.v4.metadata.CommentType)3 NoarkEntityNotFoundException (nikita.common.util.exceptions.NoarkEntityNotFoundException)1 AfterNoarkEntityUpdatedEvent (nikita.webapp.web.events.AfterNoarkEntityUpdatedEvent)1