Example usage for org.hibernate ScrollableResults getBinary

List of usage examples for org.hibernate ScrollableResults getBinary

Introduction

In this page you can find the example usage for org.hibernate ScrollableResults getBinary.

Prototype

byte[] getBinary(int col);

Source Link

Document

Convenience method to read a binary (byte[]).

Usage

From source file:org.dcm4chee.archive.query.impl.PatientQuery.java

License:LGPL

@Override
public Attributes toAttributes(ScrollableResults results, QueryContext context) {
    Attributes attrs = new Attributes();
    Utils.decodeAttributes(attrs, results.getBinary(1));
    return attrs;
}

From source file:org.dcm4chee.archive.query.impl.SeriesQuery.java

License:LGPL

@Override
public Attributes toAttributes(ScrollableResults results, QueryContext context) {
    Long studyPk = results.getLong(0);
    Long seriesPk = results.getLong(1);
    Integer numberOfInstancesI = results.getInteger(2);
    int numberOfSeriesRelatedInstances;
    String retrieveAETs;/*from   www  . j  a  v  a2  s  .c om*/
    Availability availability;
    int numberOfSeriesVisibleInstances;
    Date seriesLastUpdateTime;
    if (numberOfInstancesI != null) {
        numberOfSeriesRelatedInstances = numberOfInstancesI;
        if (numberOfSeriesRelatedInstances == 0)
            return null;
        retrieveAETs = results.getString(9);
        availability = (Availability) results.get(10);
        numberOfSeriesVisibleInstances = results.getInteger(11);
        seriesLastUpdateTime = results.getDate(12);
    } else {
        SeriesQueryAttributes seriesView = context.getQueryService().createSeriesView(seriesPk,
                context.getQueryParam());
        numberOfSeriesRelatedInstances = seriesView.getNumberOfInstances();
        if (numberOfSeriesRelatedInstances == 0)
            return null;
        retrieveAETs = seriesView.getRawRetrieveAETs();
        availability = seriesView.getAvailability();
        numberOfSeriesVisibleInstances = seriesView.getNumberOfVisibleInstances();
        seriesLastUpdateTime = seriesView.getLastUpdateTime();
    }

    byte[] seriesAttributes = results.getBinary(13);
    if (!studyPk.equals(this.studyPk)) {
        this.studyAttrs = toStudyAttributes(studyPk, results, context);
        this.studyPk = studyPk;
    }
    Attributes seriesAttrs = new Attributes();
    Utils.decodeAttributes(seriesAttrs, seriesAttributes);
    Attributes attrs = Utils.mergeAndNormalize(studyAttrs, seriesAttrs);
    ArchiveDeviceExtension ade = context.getArchiveAEExtension().getApplicationEntity().getDevice()
            .getDeviceExtension(ArchiveDeviceExtension.class);
    Utils.setSeriesQueryAttributes(attrs, numberOfSeriesRelatedInstances, numberOfSeriesVisibleInstances,
            ade.getPrivateDerivedFields().findSeriesNumberOfVisibleInstancesTag(), seriesLastUpdateTime,
            ade.getPrivateDerivedFields().findSeriesUpdateTimeTag());
    Utils.setRetrieveAET(attrs, retrieveAETs);
    Utils.setAvailability(attrs, availability);

    return attrs;
}

From source file:org.dcm4chee.archive.query.impl.SeriesQuery.java

License:LGPL

private Attributes toStudyAttributes(Long studyPk, ScrollableResults results, QueryContext context) {
    Integer numberOfInstancesI = results.getInteger(3);
    int numberOfStudyRelatedInstances;
    int numberOfStudyRelatedSeries;
    String modalitiesInStudy;/*from   www . j  av  a 2 s . c  om*/
    String sopClassesInStudy;
    int numberOfStudyVisibleInstances;
    Date studyLastUpdateTime;
    if (numberOfInstancesI != null) {
        numberOfStudyRelatedInstances = numberOfInstancesI;
        numberOfStudyRelatedSeries = results.getInteger(4);
        modalitiesInStudy = results.getString(5);
        sopClassesInStudy = results.getString(6);
        numberOfStudyVisibleInstances = results.getInteger(7);
        studyLastUpdateTime = results.getDate(8);
    } else {
        StudyQueryAttributes studyView = context.getQueryService().createStudyView(studyPk,
                context.getQueryParam());
        numberOfStudyRelatedInstances = studyView.getNumberOfInstances();
        numberOfStudyRelatedSeries = studyView.getNumberOfSeries();
        modalitiesInStudy = studyView.getRawModalitiesInStudy();
        sopClassesInStudy = studyView.getRawSOPClassesInStudy();
        numberOfStudyVisibleInstances = studyView.getNumberOfVisibleInstances();
        studyLastUpdateTime = studyView.getLastUpdateTime();
    }

    byte[] studyByteAttributes = results.getBinary(14);
    byte[] patientByteAttributes = results.getBinary(15);
    Attributes patientAttrs = new Attributes();
    Attributes studyAttrs = new Attributes();
    Utils.decodeAttributes(patientAttrs, patientByteAttributes);
    Utils.decodeAttributes(studyAttrs, studyByteAttributes);
    Attributes attrs = Utils.mergeAndNormalize(patientAttrs, studyAttrs);
    ArchiveDeviceExtension ade = context.getArchiveAEExtension().getApplicationEntity().getDevice()
            .getDeviceExtension(ArchiveDeviceExtension.class);
    Utils.setStudyQueryAttributes(attrs, numberOfStudyRelatedSeries, numberOfStudyRelatedInstances,
            modalitiesInStudy, sopClassesInStudy, numberOfStudyVisibleInstances,
            ade.getPrivateDerivedFields().findStudyNumberOfVisibleInstancesTag(), studyLastUpdateTime,
            ade.getPrivateDerivedFields().findStudyUpdateTimeTag());

    return attrs;
}

From source file:org.dcm4chee.archive.query.impl.StudyQuery.java

License:LGPL

@Override
public Attributes toAttributes(ScrollableResults results, QueryContext context) {
    Long studyPk = results.getLong(0);
    Integer numberOfInstancesI = results.getInteger(1);
    int numberOfStudyRelatedInstances;
    int numberOfStudyRelatedSeries;
    String modalitiesInStudy;//from w w w  .  jav a 2  s. c  om
    String sopClassesInStudy;
    String retrieveAETs;
    Availability availability;
    int numberOfStudyVisibleInstances;
    Date studyLastUpdateTime;
    if (numberOfInstancesI != null) {
        numberOfStudyRelatedInstances = numberOfInstancesI;
        if (numberOfStudyRelatedInstances == 0)
            return null;

        numberOfStudyRelatedSeries = results.getInteger(2);
        modalitiesInStudy = results.getString(3);
        sopClassesInStudy = results.getString(4);
        retrieveAETs = results.getString(5);
        availability = (Availability) results.get(6);
        numberOfStudyVisibleInstances = results.getInteger(7);
        studyLastUpdateTime = results.getDate(8);
    } else {
        StudyQueryAttributes studyView = context.getQueryService().createStudyView(studyPk,
                context.getQueryParam());
        numberOfStudyRelatedInstances = studyView.getNumberOfInstances();
        if (numberOfStudyRelatedInstances == 0)
            return null;

        numberOfStudyRelatedSeries = studyView.getNumberOfSeries();
        modalitiesInStudy = studyView.getRawModalitiesInStudy();
        sopClassesInStudy = studyView.getRawSOPClassesInStudy();
        retrieveAETs = studyView.getRawRetrieveAETs();
        availability = studyView.getAvailability();
        numberOfStudyVisibleInstances = studyView.getNumberOfVisibleInstances();
        studyLastUpdateTime = studyView.getLastUpdateTime();
    }

    byte[] studyByteAttributes = results.getBinary(9);
    byte[] patientByteAttributes = results.getBinary(10);
    Attributes patientAttrs = new Attributes();
    Attributes studyAttrs = new Attributes();
    Utils.decodeAttributes(patientAttrs, patientByteAttributes);
    Utils.decodeAttributes(studyAttrs, studyByteAttributes);
    Attributes attrs = Utils.mergeAndNormalize(patientAttrs, studyAttrs);
    ArchiveDeviceExtension ade = context.getArchiveAEExtension().getApplicationEntity().getDevice()
            .getDeviceExtension(ArchiveDeviceExtension.class);
    Utils.setStudyQueryAttributes(attrs, numberOfStudyRelatedSeries, numberOfStudyRelatedInstances,
            modalitiesInStudy, sopClassesInStudy, numberOfStudyVisibleInstances,
            ade.getPrivateDerivedFields().findStudyNumberOfVisibleInstancesTag(), studyLastUpdateTime,
            ade.getPrivateDerivedFields().findStudyUpdateTimeTag());
    Utils.setRetrieveAET(attrs, retrieveAETs);
    Utils.setAvailability(attrs, availability);
    return attrs;
}