use of nikita.webapp.security.Authorisation in project nikita-noark5-core by HiOA-ABI.
the class FondsService method generateDefaultSeries.
/**
* Generate a Default Fonds object that can be associated with the
* identified Fonds.
* <br>
* Note. Ideally this method would be configurable based on the logged in
* user and the business area they are working with. A generic Noark core
* like this does not have scope for that kind of functionality.
*
* @param fondsSystemId The systemId of the Fonds object you wish to
* generate a default Series for
* @return the Series object wrapped as a SeriesHateoas object
*/
@Override
public SeriesHateoas generateDefaultSeries(@NotNull String fondsSystemId) {
Series defaultSeries = new Series();
defaultSeries.setSeriesStatus(STATUS_OPEN);
defaultSeries.setDocumentMedium(DOCUMENT_MEDIUM_ELECTRONIC);
defaultSeries.setTitle("Default Series object generated by nikita " + "that can be associated with Fonds with systemID " + fondsSystemId);
SeriesHateoas seriesHateoas = new SeriesHateoas(defaultSeries);
seriesHateoasHandler.addLinksOnNew(seriesHateoas, new Authorisation());
return seriesHateoas;
}
use of nikita.webapp.security.Authorisation in project nikita-noark5-core by HiOA-ABI.
the class FondsService method createFondsCreatorAssociatedWithFonds.
/**
* Persists a new FondsCreator object to the database. Some values are set
* in the incoming payload (e.g. fonds_creator_name) and some are set by
* the core. owner,createdBy, createdDate are automatically set by the core.
* <p>
* First we try to locate the fonds to associate the FondsCreator with. If
* the fonds does not exist a NoarkEntityNotFoundException exception is
* thrown. After that we check that the Fonds object is not already closed.
*
* @param fondsSystemId The systemId of the fonds object you wish to
* associate the fondsCreator object with
* @param fondsCreator incoming fondsCreator object with some values set
* @return the newly persisted fondsCreator object wrapped as a
* FondsCreatorHateoas object
*/
@Override
public FondsCreatorHateoas createFondsCreatorAssociatedWithFonds(@NotNull String fondsSystemId, @NotNull FondsCreator fondsCreator) {
Fonds fonds = getFondsOrThrow(fondsSystemId);
checkFondsNotClosed(fonds);
fondsCreatorService.createNewFondsCreator(fondsCreator);
// add references to objects in both directions
fondsCreator.addFonds(fonds);
fonds.getReferenceFondsCreator().add(fondsCreator);
// create the hateoas object with links
FondsCreatorHateoas fondsCreatorHateoas = new FondsCreatorHateoas(fondsCreator);
fondsCreatorHateoasHandler.addLinks(fondsCreatorHateoas, new Authorisation());
return fondsCreatorHateoas;
}
use of nikita.webapp.security.Authorisation in project nikita-noark5-core by HiOA-ABI.
the class FondsService method generateDefaultFonds.
/**
* Generate a Default Fonds object that can be associated with the
* identified Fonds. If fondsSystemId has a value, it is assumed you wish
* to generate a sub-fonds.
* <br>
* Note. Ideally this method would be configurable based on the logged in
* user and the business area they are working with. A generic Noark core
* like this does not have scope for that kind of functionality.
*
* @param fondsSystemId The systemId of the Fonds object you wish to
* generate a default sub-fonds. Null if the Fonds
* is not a sub-fonds.
* @return the Fonds object wrapped as a FondsHateoas object
*/
@Override
public FondsHateoas generateDefaultFonds(String fondsSystemId) {
Fonds defaultFonds = new Fonds();
defaultFonds.setTitle(TEST_TITLE);
defaultFonds.setDescription(TEST_DESCRIPTION);
defaultFonds.setDocumentMedium(DOCUMENT_MEDIUM_ELECTRONIC);
FondsHateoas fondsHateoas = new FondsHateoas(defaultFonds);
fondsHateoasHandler.addLinksOnNew(fondsHateoas, new Authorisation());
return fondsHateoas;
}
use of nikita.webapp.security.Authorisation in project nikita-noark5-core by HiOA-ABI.
the class FondsService method handleUpdate.
// All UPDATE operations
/**
* Updates a Fonds object in the database. First we try to locate the
* Fonds object. If the Fonds object does not exist a
* NoarkEntityNotFoundException exception is thrown that the caller has
* to deal with.
* <br>
* After this the values you are allowed to update are copied from the
* incomingFonds object to the existingFonds object and the existingFonds
* object will be persisted to the database when the transaction boundary
* is over.
* <p>
* Note, the version corresponds to the version number, when the object
* was initially retrieved from the database. If this number is not the
* same as the version number when re-retrieving the Fonds object from
* the database a NoarkConcurrencyException is thrown. Note. This happens
* when the call to Fonds.setVersion() occurs.
*
* @param fondsSystemId The systemId of the fonds object to retrieve
* @param version The last known version number (derived from an ETAG)
* @param incomingFonds The incoming fonds object
*/
@Override
public FondsHateoas handleUpdate(@NotNull String fondsSystemId, @NotNull Long version, @NotNull Fonds incomingFonds) {
Fonds existingFonds = getFondsOrThrow(fondsSystemId);
// Copy all the values you are allowed to copy ....
if (null != incomingFonds.getDescription()) {
existingFonds.setDescription(incomingFonds.getDescription());
}
if (null != incomingFonds.getTitle()) {
existingFonds.setTitle(incomingFonds.getTitle());
}
if (null != incomingFonds.getDocumentMedium()) {
existingFonds.setDocumentMedium(existingFonds.getDocumentMedium());
}
// Note this can potentially result in a NoarkConcurrencyException
// exception
existingFonds.setVersion(version);
FondsHateoas fondsHateoas = new FondsHateoas(fondsRepository.save(existingFonds));
fondsHateoasHandler.addLinks(fondsHateoas, new Authorisation());
applicationEventPublisher.publishEvent(new AfterNoarkEntityUpdatedEvent(this, existingFonds));
return fondsHateoas;
}
use of nikita.webapp.security.Authorisation in project nikita-noark5-core by HiOA-ABI.
the class FondsService method createNewFonds.
// All CREATE operations
/**
* Persists a new fonds object to the database. Some values are set in the
* incoming payload (e.g. title) and some are set by the core.
* owner, createdBy, createdDate are automatically set by the core.
*
* @param fonds fonds object with some values set
* @return the newly persisted fonds object wrapped as a fondsHateaos object
*/
@Override
public FondsHateoas createNewFonds(@NotNull Fonds fonds) {
NoarkUtils.NoarkEntity.Create.checkDocumentMediumValid(fonds);
NoarkUtils.NoarkEntity.Create.setNoarkEntityValues(fonds);
fonds.setFondsStatus(STATUS_OPEN);
NoarkUtils.NoarkEntity.Create.setFinaliseEntityValues(fonds);
FondsHateoas fondsHateoas = new FondsHateoas(fondsRepository.save(fonds));
fondsHateoasHandler.addLinks(fondsHateoas, new Authorisation());
applicationEventPublisher.publishEvent(new AfterNoarkEntityCreatedEvent(this, fonds));
return fondsHateoas;
}
Aggregations