use of nikita.util.exceptions.NoarkEntityEditWhenClosedException in project nikita-noark5-core by HiOA-ABI.
the class ClassService method createClassAssociatedWithClass.
public Class createClassAssociatedWithClass(String classSystemId, Class klass) {
Class persistedClass = null;
Class parentKlass = classRepository.findBySystemIdOrderBySystemId(classSystemId);
if (parentKlass == null) {
String info = INFO_CANNOT_FIND_OBJECT + " Class, using classSystemId " + classSystemId;
logger.info(info);
throw new NoarkEntityNotFoundException(info);
} else if (parentKlass.getFinalisedDate() != null) {
String info = INFO_CANNOT_ASSOCIATE_WITH_CLOSED_OBJECT + ". Class with classSystemId " + classSystemId + "has been finalised. Cannot associate a new class object with a finalised class object";
logger.info(info);
throw new NoarkEntityEditWhenClosedException(info);
} else {
klass.setReferenceParentClass(parentKlass);
persistedClass = this.save(klass);
}
return persistedClass;
}
use of nikita.util.exceptions.NoarkEntityEditWhenClosedException in project nikita-noark5-core by HiOA-ABI.
the class FondsService method createSeriesAssociatedWithFonds.
/**
*
* Persists a new series 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.
*
* First we try to locate the parent fonds. If the parent fonds does not exist a NoarkEntityNotFoundException
* exception is thrown. Next we check that the fonds does not have children fonds. If it does an
* exception is thrown.
*
* @param fondsSystemId
* @param series
* @return the newly persisted series object
*/
@Override
public Series createSeriesAssociatedWithFonds(String fondsSystemId, Series series) {
Series persistedSeries = null;
Fonds fonds = fondsRepository.findBySystemIdOrderBySystemId(fondsSystemId);
if (fonds == null) {
String info = INFO_CANNOT_FIND_OBJECT + " Fonds, using fondsSystemId " + fondsSystemId;
logger.info(info);
throw new NoarkEntityNotFoundException(info);
} else if (fonds.getReferenceChildFonds() != null && fonds.getReferenceChildFonds().size() > 0) {
String info = INFO_INVALID_STRUCTURE + " Cannot associate series with a fonds that has" + "children fonds " + fondsSystemId;
logger.info(info);
throw new NoarkInvalidStructureException(info, "Fonds", "Series");
} else if (fonds.getFondsStatus() != null && fonds.getFondsStatus().equals(STATUS_CLOSED)) {
String info = INFO_CANNOT_ASSOCIATE_WITH_CLOSED_OBJECT + ". Fonds with fondsSystemId " + fondsSystemId + "has status " + STATUS_CLOSED;
logger.info(info);
throw new NoarkEntityEditWhenClosedException(info);
} else {
series.setReferenceFonds(fonds);
persistedSeries = seriesService.save(series);
}
return persistedSeries;
}
use of nikita.util.exceptions.NoarkEntityEditWhenClosedException in project nikita-noark5-core by HiOA-ABI.
the class SeriesService method createCaseFileAssociatedWithSeries.
// All CREATE operations
@Override
public CaseFile createCaseFileAssociatedWithSeries(String seriesSystemId, CaseFile caseFile) {
CaseFile persistedFile = null;
Series series = seriesRepository.findBySystemIdOrderBySystemId(seriesSystemId);
if (series == null) {
String info = INFO_CANNOT_FIND_OBJECT + " Series, using seriesSystemId " + seriesSystemId;
logger.info(info);
throw new NoarkEntityNotFoundException(info);
} else if (series.getSeriesStatus() != null && series.getSeriesStatus().equals(STATUS_CLOSED)) {
String info = INFO_CANNOT_ASSOCIATE_WITH_CLOSED_OBJECT + ". Series with seriesSystemId " + seriesSystemId + "has status " + STATUS_CLOSED;
logger.info(info);
throw new NoarkEntityEditWhenClosedException(info);
} else {
caseFile.setReferenceSeries(series);
persistedFile = caseFileService.save(caseFile);
}
return persistedFile;
}
use of nikita.util.exceptions.NoarkEntityEditWhenClosedException in project nikita-noark5-core by HiOA-ABI.
the class FondsImportService method createSeriesAssociatedWithFonds.
/**
*
* Persists a new series 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.
*
* First we try to locate the parent fonds. If the parent fonds does not exist a NoarkEntityNotFoundException
* exception is thrown. Next we check that the fonds does not have children fonds. If it does an
* exception is thrown.
*
* @param fondsSystemId
* @param series
* @return the newly persisted series object
*/
@Override
public Series createSeriesAssociatedWithFonds(String fondsSystemId, Series series) {
Series persistedSeries = null;
Fonds fonds = fondsRepository.findBySystemIdOrderBySystemId(fondsSystemId);
if (fonds == null) {
String info = INFO_CANNOT_FIND_OBJECT + " Fonds, using fondsSystemId " + fondsSystemId;
logger.info(info);
throw new NoarkEntityNotFoundException(info);
} else if (fonds.getReferenceChildFonds() != null && fonds.getReferenceChildFonds().size() > 0) {
String info = INFO_INVALID_STRUCTURE + " Cannot associate series with a fonds that has" + "children fonds " + fondsSystemId;
logger.info(info);
throw new NoarkInvalidStructureException(info, "Fonds", "Series");
} else if (fonds.getFondsStatus() != null && fonds.getFondsStatus().equals(STATUS_CLOSED)) {
String info = INFO_CANNOT_ASSOCIATE_WITH_CLOSED_OBJECT + ". Fonds with fondsSystemId " + fondsSystemId + "has status " + STATUS_CLOSED;
logger.info(info);
throw new NoarkEntityEditWhenClosedException(info);
} else {
series.setReferenceFonds(fonds);
persistedSeries = seriesImportService.save(series);
}
return persistedSeries;
}
use of nikita.util.exceptions.NoarkEntityEditWhenClosedException in project nikita-noark5-core by HiOA-ABI.
the class SeriesImportService method createFileAssociatedWithSeries.
@Override
public File createFileAssociatedWithSeries(String seriesSystemId, File file) {
File persistedFile = null;
Series series = seriesRepository.findBySystemIdOrderBySystemId(seriesSystemId);
if (series == null) {
String info = INFO_CANNOT_FIND_OBJECT + " Series, using seriesSystemId " + seriesSystemId;
logger.info(info);
throw new NoarkEntityNotFoundException(info);
} else if (series.getSeriesStatus() != null && series.getSeriesStatus().equals(STATUS_CLOSED)) {
String info = INFO_CANNOT_ASSOCIATE_WITH_CLOSED_OBJECT + ". Series with seriesSystemId " + seriesSystemId + "has status " + STATUS_CLOSED;
logger.info(info);
throw new NoarkEntityEditWhenClosedException(info);
} else {
file.setReferenceSeries(series);
persistedFile = fileImportService.createFile(file);
}
return persistedFile;
}
Aggregations