use of nikita.common.model.noark5.v4.metadata.VariantFormat in project nikita-noark5-core by HiOA-ABI.
the class DocumentObjectDeserializer method deserialize.
@Override
public DocumentObject deserialize(JsonParser jsonParser, DeserializationContext dc) throws IOException {
DocumentObject documentObject = new DocumentObject();
ObjectNode objectNode = mapper.readTree(jsonParser);
// Deserialise general DocumentObject properties
CommonUtils.Hateoas.Deserialize.deserialiseNoarkSystemIdEntity(documentObject, objectNode);
// Deserialize versionNumber
JsonNode currentNode = objectNode.get(DOCUMENT_OBJECT_VERSION_NUMBER);
if (null != currentNode) {
documentObject.setVersionNumber(new Integer(currentNode.intValue()));
objectNode.remove(DOCUMENT_OBJECT_VERSION_NUMBER);
}
// Deserialize variantFormat
currentNode = objectNode.get(DOCUMENT_OBJECT_VARIANT_FORMAT);
if (null != currentNode) {
documentObject.setVariantFormat(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_VARIANT_FORMAT);
}
// Deserialize format
currentNode = objectNode.get(DOCUMENT_OBJECT_FORMAT);
if (null != currentNode) {
documentObject.setFormat(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_FORMAT);
}
// Deserialize formatDetails
currentNode = objectNode.get(DOCUMENT_OBJECT_FORMAT_DETAILS);
if (null != currentNode) {
documentObject.setFormatDetails(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_FORMAT_DETAILS);
}
CommonUtils.Hateoas.Deserialize.deserialiseNoarkCreateEntity(documentObject, objectNode);
// Deserialize referenceDocumentFile
currentNode = objectNode.get(DOCUMENT_OBJECT_REFERENCE_DOCUMENT_FILE);
if (null != currentNode) {
documentObject.setReferenceDocumentFile(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_REFERENCE_DOCUMENT_FILE);
}
// Deserialize checksum
currentNode = objectNode.get(DOCUMENT_OBJECT_CHECKSUM);
if (null != currentNode) {
documentObject.setChecksum(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_CHECKSUM);
}
// Deserialize checksumAlgorithm
currentNode = objectNode.get(DOCUMENT_OBJECT_CHECKSUM_ALGORITHM);
if (null != currentNode) {
documentObject.setChecksumAlgorithm(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_CHECKSUM_ALGORITHM);
}
// Deserialize fileSize
currentNode = objectNode.get(DOCUMENT_OBJECT_FILE_SIZE);
if (null != currentNode) {
documentObject.setFileSize(currentNode.asLong());
objectNode.remove(DOCUMENT_OBJECT_FILE_SIZE);
}
// Deserialize filename
currentNode = objectNode.get(DOCUMENT_OBJECT_FILE_NAME);
if (null != currentNode) {
documentObject.setOriginalFilename(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_FILE_NAME);
}
// Deserialize mimeType
currentNode = objectNode.get(DOCUMENT_OBJECT_MIME_TYPE);
if (null != currentNode) {
documentObject.setMimeType(currentNode.textValue());
objectNode.remove(DOCUMENT_OBJECT_MIME_TYPE);
}
// If there are additional throw a malformed input exception
if (objectNode.size() != 0) {
throw new NikitaMalformedInputDataException("The dokumentobjekt you tried to create is malformed. The " + "following fields are not recognised as dokumentobjekt fields [" + CommonUtils.Hateoas.Deserialize.checkNodeObjectEmpty(objectNode) + "]");
}
return documentObject;
}
use of nikita.common.model.noark5.v4.metadata.VariantFormat in project nikita-noark5-core by HiOA-ABI.
the class VariantFormatService method find.
// find by systemId
/**
* Retrieve a single VariantFormat object identified by systemId
*
* @param systemId systemId of the VariantFormat you wish to retrieve
* @return single VariantFormat object wrapped as a MetadataHateoas object
*/
@Override
public MetadataHateoas find(String systemId) {
MetadataHateoas metadataHateoas = new MetadataHateoas(variantFormatRepository.findBySystemId(systemId));
metadataHateoasHandler.addLinks(metadataHateoas, new Authorisation());
return metadataHateoas;
}
use of nikita.common.model.noark5.v4.metadata.VariantFormat in project nikita-noark5-core by HiOA-ABI.
the class VariantFormatService method findAll.
// All READ operations
/**
* Retrieve a list of all VariantFormat objects
*
* @return list of VariantFormat objects wrapped as a
* MetadataHateoas object
*/
@Override
public MetadataHateoas findAll() {
MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) variantFormatRepository.findAll(), VARIANT_FORMAT);
metadataHateoasHandler.addLinks(metadataHateoas, new Authorisation());
return metadataHateoas;
}
use of nikita.common.model.noark5.v4.metadata.VariantFormat in project nikita-noark5-core by HiOA-ABI.
the class VariantFormatService method handleUpdate.
/**
* Update a VariantFormat identified by its systemId
* <p>
* Copy the values you are allowed to change, code and description
*
* @param systemId The systemId of the variantFormat object you wish to
* update
* @param variantFormat The updated variantFormat object. Note the values
* you are allowed to change are copied from this
* object. This object is not persisted.
* @return the updated variantFormat
*/
@Override
public MetadataHateoas handleUpdate(String systemId, Long version, VariantFormat variantFormat) {
VariantFormat existingVariantFormat = getVariantFormatOrThrow(systemId);
// Copy all the values you are allowed to copy ....
if (null != existingVariantFormat.getCode()) {
existingVariantFormat.setCode(existingVariantFormat.getCode());
}
if (null != existingVariantFormat.getDescription()) {
existingVariantFormat.setDescription(existingVariantFormat.getDescription());
}
// Note this can potentially result in a NoarkConcurrencyException
// exception
existingVariantFormat.setVersion(version);
MetadataHateoas variantFormatHateoas = new MetadataHateoas(variantFormatRepository.save(existingVariantFormat));
metadataHateoasHandler.addLinks(variantFormatHateoas, new Authorisation());
applicationEventPublisher.publishEvent(new AfterNoarkEntityUpdatedEvent(this, existingVariantFormat));
return variantFormatHateoas;
}
use of nikita.common.model.noark5.v4.metadata.VariantFormat in project nikita-noark5-core by HiOA-ABI.
the class VariantFormatService method findByDescription.
/**
* Retrieve all VariantFormat 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 VariantFormat objects wrapped as a MetadataHateoas
* object
*/
@Override
public MetadataHateoas findByDescription(String description) {
MetadataHateoas metadataHateoas = new MetadataHateoas((List<INikitaEntity>) (List) variantFormatRepository.findByDescription(description), VARIANT_FORMAT);
metadataHateoasHandler.addLinks(metadataHateoas, new Authorisation());
return metadataHateoas;
}
Aggregations