use of com.eaglegenomics.simlims.core.Note in project miso-lims by miso-lims.
the class DefaultPoolService method deleteNote.
@Override
public void deleteNote(Pool pool, Long noteId) throws IOException {
if (noteId == null) {
throw new IllegalArgumentException("Cannot delete an unsaved Note");
}
Pool managed = poolStore.get(pool.getId());
Note deleteNote = null;
for (Note note : managed.getNotes()) {
if (note.getId() == noteId.longValue()) {
deleteNote = note;
break;
}
}
if (deleteNote == null) {
throw new IOException("Note " + noteId + " not found for Pool " + pool.getId());
}
authorizationManager.throwIfNonAdminOrMatchingOwner(deleteNote.getOwner());
managed.getNotes().remove(deleteNote);
poolStore.save(managed);
}
use of com.eaglegenomics.simlims.core.Note in project miso-lims by miso-lims.
the class DefaultRunService method deleteNote.
@Override
public void deleteNote(Run run, Long noteId) throws IOException {
if (noteId == null) {
throw new IllegalArgumentException("Cannot delete an unsaved Note");
}
Run managed = runDao.get(run.getId());
Note deleteNote = null;
for (Note note : managed.getNotes()) {
if (note.getId() == noteId.longValue()) {
deleteNote = note;
break;
}
}
if (deleteNote == null) {
throw new IOException("Note " + noteId + " not found for Run " + run.getId());
}
authorizationManager.throwIfNonAdminOrMatchingOwner(deleteNote.getOwner());
managed.getNotes().remove(deleteNote);
runDao.save(managed);
}
use of com.eaglegenomics.simlims.core.Note in project miso-lims by miso-lims.
the class DefaultSampleService method deleteNote.
@Override
public void deleteNote(Sample sample, Long noteId) throws IOException {
if (noteId == null) {
throw new IllegalArgumentException("Cannot delete an unsaved Note");
}
Sample managed = sampleStore.get(sample.getId());
Note deleteNote = null;
for (Note note : managed.getNotes()) {
if (note.getId() == noteId.longValue()) {
deleteNote = note;
break;
}
}
if (deleteNote == null) {
throw new IOException("Note " + noteId + " not found for Sample " + sample.getId());
}
authorizationManager.throwIfNonAdminOrMatchingOwner(deleteNote.getOwner());
managed.getNotes().remove(deleteNote);
sampleStore.update(managed);
}
use of com.eaglegenomics.simlims.core.Note in project miso-lims by miso-lims.
the class DefaultLibraryService method deleteNote.
@Override
public void deleteNote(Library library, Long noteId) throws IOException {
if (noteId == null) {
throw new IllegalArgumentException("Cannot delete an unsaved Note");
}
Library managed = libraryDao.get(library.getId());
Note deleteNote = null;
for (Note note : managed.getNotes()) {
if (note.getId() == noteId.longValue()) {
deleteNote = note;
break;
}
}
if (deleteNote == null) {
throw new IOException("Note " + noteId + " not found for Library " + library.getId());
}
authorizationManager.throwIfNonAdminOrMatchingOwner(deleteNote.getOwner());
managed.getNotes().remove(deleteNote);
libraryDao.save(managed);
}
use of com.eaglegenomics.simlims.core.Note in project miso-lims by miso-lims.
the class DefaultSampleServiceTest method testDeleteNote.
@Test
public void testDeleteNote() throws Exception {
Sample paramSample = new SampleImpl();
paramSample.setId(1L);
paramSample.setAlias("paramSample");
Sample dbSample = new SampleImpl();
dbSample.setId(paramSample.getId());
dbSample.setAlias("persistedSample");
Note note = new Note();
note.setId(3L);
User owner = new UserImpl();
owner.setId(5L);
note.setOwner(owner);
dbSample.addNote(note);
Mockito.when(sampleStore.get(paramSample.getId())).thenReturn(dbSample);
sut.deleteNote(paramSample, note.getId());
Mockito.verify(authorizationManager).throwIfNonAdminOrMatchingOwner(owner);
ArgumentCaptor<Sample> capture = ArgumentCaptor.forClass(Sample.class);
Mockito.verify(sampleStore).update(capture.capture());
Sample savedSample = capture.getValue();
assertTrue(savedSample.getNotes().isEmpty());
}
Aggregations