Search in sources :

Example 6 with Country

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

the class CountryService method handleUpdate.

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

Example 7 with Country

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

the class CountryService method findByCode.

/**
 * retrieve all Country that have a particular code.
 * <br>
 * Note, this will be replaced by OData search.
 *
 * @param code The code of the object you wish to retrieve
 * @return A list of Country objects wrapped as a MetadataHateoas
 * object
 */
@Override
public MetadataHateoas findByCode(String code) {
    MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) countryRepository.findByCode(code), COUNTRY);
    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 8 with Country

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

the class CountryService method findByDescription.

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

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 Country (nikita.common.model.noark5.v4.metadata.Country)3 NoarkEntityNotFoundException (nikita.common.util.exceptions.NoarkEntityNotFoundException)1 AfterNoarkEntityUpdatedEvent (nikita.webapp.web.events.AfterNoarkEntityUpdatedEvent)1