Search in sources :

Example 1 with InstrumentStatusPositionRun

use of uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRun in project miso-lims by miso-lims.

the class Dtos method asDto.

public static InstrumentStatusDto asDto(@Nonnull InstrumentStatus from) {
    InstrumentStatusDto to = new InstrumentStatusDto();
    InstrumentDto instrumentDto = new InstrumentDto();
    instrumentDto.setId(from.getId());
    instrumentDto.setName(from.getName());
    to.setInstrument(instrumentDto);
    List<InstrumentPositionStatusDto> posDtos = new ArrayList<>();
    for (InstrumentStatusPosition pos : from.getPositions()) {
        InstrumentPositionStatusDto posDto = new InstrumentPositionStatusDto();
        posDto.setPosition(pos.getAlias());
        if (pos.getOutOfServiceTime() != null) {
            posDto.setOutOfService(true);
            setDateTimeString(posDto::setOutOfServiceTime, pos.getOutOfServiceTime());
        }
        if (pos.getRun() != null) {
            RunDto runDto = new RunDto();
            InstrumentStatusPositionRun run = pos.getRun();
            runDto.setId(run.getRunId());
            runDto.setName(run.getName());
            runDto.setAlias(run.getAlias());
            runDto.setStatus(run.getHealth().getKey());
            setDateString(runDto::setStartDate, run.getStartDate());
            setDateString(runDto::setEndDate, run.getCompletionDate());
            setDateTimeString(runDto::setLastModified, run.getLastModified());
            posDto.setRun(runDto);
            List<PoolDto> poolDtos = new ArrayList<>();
            for (InstrumentStatusPositionRunPool pool : run.getPools()) {
                PoolDto poolDto = new PoolDto();
                poolDto.setId(pool.getPoolId());
                poolDto.setName(pool.getName());
                poolDto.setAlias(pool.getAlias());
                poolDtos.add(poolDto);
            }
            posDto.setPools(poolDtos);
        }
        posDtos.add(posDto);
    }
    to.setPositions(posDtos);
    return to;
}
Also used : InstrumentStatusPosition(uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPosition) IonTorrentRunDto(uk.ac.bbsrc.tgac.miso.dto.run.IonTorrentRunDto) PacBioRunDto(uk.ac.bbsrc.tgac.miso.dto.run.PacBioRunDto) Ls454RunDto(uk.ac.bbsrc.tgac.miso.dto.run.Ls454RunDto) OxfordNanoporeRunDto(uk.ac.bbsrc.tgac.miso.dto.run.OxfordNanoporeRunDto) IlluminaRunDto(uk.ac.bbsrc.tgac.miso.dto.run.IlluminaRunDto) RunDto(uk.ac.bbsrc.tgac.miso.dto.run.RunDto) SolidRunDto(uk.ac.bbsrc.tgac.miso.dto.run.SolidRunDto) ArrayList(java.util.ArrayList) InstrumentStatusPositionRunPool(uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRunPool) InstrumentStatusPositionRun(uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRun)

Example 2 with InstrumentStatusPositionRun

use of uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRun in project miso-lims by miso-lims.

the class HibernateInstrumentStatusDao method list.

@Override
public List<InstrumentStatus> list() throws IOException {
    @SuppressWarnings("unchecked") List<InstrumentStatus> instruments = currentSession().createCriteria(InstrumentStatus.class).list();
    for (InstrumentStatus instrument : instruments) {
        for (InstrumentStatusPosition position : instrument.getPositions()) {
            InstrumentStatusPositionRun run = (InstrumentStatusPositionRun) currentSession().createCriteria(InstrumentStatusPositionRun.class).add(Restrictions.eq("instrumentId", instrument.getId())).add(Restrictions.eq("positionId", position.getPositionId())).setMaxResults(1).uniqueResult();
            if (run != null) {
                position.setRun(run);
                @SuppressWarnings("unchecked") List<InstrumentStatusPositionRunPool> pools = currentSession().createCriteria(InstrumentStatusPositionRunPool.class).add(Restrictions.eq("runId", run.getRunId())).add(Restrictions.eq("positionId", position.getPositionId())).list();
                run.setPools(pools);
            }
        }
    }
    return instruments;
}
Also used : InstrumentStatusPosition(uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPosition) InstrumentStatusPositionRun(uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRun) InstrumentStatus(uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatus) InstrumentStatusPositionRunPool(uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRunPool)

Aggregations

InstrumentStatusPosition (uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPosition)2 InstrumentStatusPositionRun (uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRun)2 InstrumentStatusPositionRunPool (uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatusPositionRunPool)2 ArrayList (java.util.ArrayList)1 InstrumentStatus (uk.ac.bbsrc.tgac.miso.core.data.impl.view.instrumentstatus.InstrumentStatus)1 IlluminaRunDto (uk.ac.bbsrc.tgac.miso.dto.run.IlluminaRunDto)1 IonTorrentRunDto (uk.ac.bbsrc.tgac.miso.dto.run.IonTorrentRunDto)1 Ls454RunDto (uk.ac.bbsrc.tgac.miso.dto.run.Ls454RunDto)1 OxfordNanoporeRunDto (uk.ac.bbsrc.tgac.miso.dto.run.OxfordNanoporeRunDto)1 PacBioRunDto (uk.ac.bbsrc.tgac.miso.dto.run.PacBioRunDto)1 RunDto (uk.ac.bbsrc.tgac.miso.dto.run.RunDto)1 SolidRunDto (uk.ac.bbsrc.tgac.miso.dto.run.SolidRunDto)1