Search in sources :

Example 1 with Note

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);
}
Also used : Note(com.eaglegenomics.simlims.core.Note) Pool(uk.ac.bbsrc.tgac.miso.core.data.Pool) IOException(java.io.IOException)

Example 2 with Note

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);
}
Also used : Note(com.eaglegenomics.simlims.core.Note) OxfordNanoporeRun(uk.ac.bbsrc.tgac.miso.core.data.OxfordNanoporeRun) IlluminaRun(uk.ac.bbsrc.tgac.miso.core.data.IlluminaRun) SolidRun(uk.ac.bbsrc.tgac.miso.core.data.SolidRun) Run(uk.ac.bbsrc.tgac.miso.core.data.Run) LS454Run(uk.ac.bbsrc.tgac.miso.core.data.LS454Run) IOException(java.io.IOException)

Example 3 with Note

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);
}
Also used : DetailedSample(uk.ac.bbsrc.tgac.miso.core.data.DetailedSample) Sample(uk.ac.bbsrc.tgac.miso.core.data.Sample) TransferSample(uk.ac.bbsrc.tgac.miso.core.data.impl.transfer.TransferSample) Note(com.eaglegenomics.simlims.core.Note) IOException(java.io.IOException)

Example 4 with Note

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);
}
Also used : Note(com.eaglegenomics.simlims.core.Note) TransferLibrary(uk.ac.bbsrc.tgac.miso.core.data.impl.transfer.TransferLibrary) Library(uk.ac.bbsrc.tgac.miso.core.data.Library) DetailedLibrary(uk.ac.bbsrc.tgac.miso.core.data.DetailedLibrary) IOException(java.io.IOException)

Example 5 with Note

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());
}
Also used : User(com.eaglegenomics.simlims.core.User) DetailedSample(uk.ac.bbsrc.tgac.miso.core.data.DetailedSample) Sample(uk.ac.bbsrc.tgac.miso.core.data.Sample) Note(com.eaglegenomics.simlims.core.Note) UserImpl(uk.ac.bbsrc.tgac.miso.core.data.impl.UserImpl) SampleImpl(uk.ac.bbsrc.tgac.miso.core.data.impl.SampleImpl) Test(org.junit.Test)

Aggregations

Note (com.eaglegenomics.simlims.core.Note)9 IOException (java.io.IOException)5 DetailedSample (uk.ac.bbsrc.tgac.miso.core.data.DetailedSample)3 Sample (uk.ac.bbsrc.tgac.miso.core.data.Sample)3 User (com.eaglegenomics.simlims.core.User)2 Date (java.util.Date)2 Test (org.junit.Test)2 SampleImpl (uk.ac.bbsrc.tgac.miso.core.data.impl.SampleImpl)2 UserImpl (uk.ac.bbsrc.tgac.miso.core.data.impl.UserImpl)2 BigDecimal (java.math.BigDecimal)1 DetailedLibrary (uk.ac.bbsrc.tgac.miso.core.data.DetailedLibrary)1 IlluminaRun (uk.ac.bbsrc.tgac.miso.core.data.IlluminaRun)1 LS454Run (uk.ac.bbsrc.tgac.miso.core.data.LS454Run)1 Library (uk.ac.bbsrc.tgac.miso.core.data.Library)1 OxfordNanoporeRun (uk.ac.bbsrc.tgac.miso.core.data.OxfordNanoporeRun)1 Pool (uk.ac.bbsrc.tgac.miso.core.data.Pool)1 Run (uk.ac.bbsrc.tgac.miso.core.data.Run)1 SolidRun (uk.ac.bbsrc.tgac.miso.core.data.SolidRun)1 PoolImpl (uk.ac.bbsrc.tgac.miso.core.data.impl.PoolImpl)1 Requisition (uk.ac.bbsrc.tgac.miso.core.data.impl.Requisition)1