コード例 #1
0
 /** Returns the <code>AsmDetailQueryBuilder</code> for the ASM query, creating it if necessary. */
 private AsmDetailQueryBuilder getQueryAsm() {
   AsmDetailQueryBuilder queryBuilder = null;
   if (_queries.get(KEY_ASM) == null) {
     queryBuilder = new AsmDetailQueryBuilder();
     queryBuilder.addColumnAsmId();
     _queries.put(KEY_ASM, queryBuilder);
     getQuerySample().setCreateAsmData(true);
   } else {
     queryBuilder = (AsmDetailQueryBuilder) _queries.get(KEY_ASM);
   }
   return queryBuilder;
 }
コード例 #2
0
  /**
   * Populates the full details of the tissue sample data beans specified in the input <code>Map
   * </code>. One or more columns must be specified before calling this method. The only filters are
   * the sample IDs that are specified in the <code>Map</code>.
   *
   * @param sampleDataBeans a <code>Map</code> of {@link com.ardais.bigr.javabeans.SampleData} data
   *     beans, keyed by the ids of the samples
   */
  public void getDetails(Map sampleDataBeans) {

    if (sampleDataBeans.isEmpty()) {
      return;
    }

    long tStart = 0;
    String myClassName = null;
    if (_perfLog.isDebugEnabled()) {
      myClassName = ApiFunctions.shortClassName(getClass().getName());
      _perfLog.debug("    C: START " + myClassName + ".getDetails");
      tStart = System.currentTimeMillis();
    }

    // Create the Maps that will hold the parent data beans.
    Map asmMap = new HashMap();
    Map consentMap = new HashMap();
    Map donorMap = new HashMap();

    // Iterate over all queries.
    Iterator queries = _queries.entrySet().iterator();
    while (queries.hasNext()) {
      long tLoopStart = System.currentTimeMillis();
      Map.Entry entry = (Map.Entry) queries.next();
      String queryKey = (String) entry.getKey();
      if (queryKey.equals(KEY_SAMPLE)) {
        TissueDetailQueryBuilder query = (TissueDetailQueryBuilder) entry.getValue();
        query.getDetails(sampleDataBeans);
        asmMap = query.getAsmData();
      } else if (queryKey.equals(KEY_LIMS)) {
        PathologyEvaluationDetailQueryBuilder query =
            (PathologyEvaluationDetailQueryBuilder) entry.getValue();
        query.getDetailsForSamples(sampleDataBeans);
      } else if (queryKey.equals(KEY_IMAGES)) {
        ImageDetailQueryBuilder query = (ImageDetailQueryBuilder) entry.getValue();
        query.getDetailsForSamples(sampleDataBeans);
      } else if (queryKey.equals(KEY_PROJECT)) {
        ProjectDetailQueryBuilder query = (ProjectDetailQueryBuilder) entry.getValue();
        query.getDetailsForSamples(sampleDataBeans);
      } else if (queryKey.equals(KEY_ORDER)) {
        OrderDetailQueryBuilder query = (OrderDetailQueryBuilder) entry.getValue();
        query.getDetailsForSamples(sampleDataBeans);
      } else if (queryKey.equals(KEY_SHOPPING_CART)) {
        ShoppingCartDetailQueryBuilder query = (ShoppingCartDetailQueryBuilder) entry.getValue();
        query.getDetailsForSamples(sampleDataBeans);
      } else if (queryKey.equals(KEY_ASM)) {
        AsmDetailQueryBuilder query = (AsmDetailQueryBuilder) entry.getValue();
        query.getDetails(asmMap);
        consentMap = query.getConsentData();
      } else if (queryKey.equals(KEY_CONSENT)) {
        ConsentDetailQueryBuilder query = (ConsentDetailQueryBuilder) entry.getValue();
        query.getDetails(consentMap);
        donorMap = query.getDonorData();
      } else if (queryKey.equals(KEY_DONOR)) {
        DonorDetailQueryBuilder query = (DonorDetailQueryBuilder) entry.getValue();
        query.getDetails(donorMap);
      } else if (queryKey.equals(KEY_PATH)) {
        PathologyReportDetailQueryBuilder query =
            (PathologyReportDetailQueryBuilder) entry.getValue();
        query.getDetailsForConsents(consentMap);
      } else if (queryKey.equals(KEY_LOGICAL_REPOSITORY)) {
        LogicalRepositoryDetailQueryBuilder query =
            (LogicalRepositoryDetailQueryBuilder) entry.getValue();
        query.getDetails(sampleDataBeans);
      } else if (queryKey.equals(KEY_SAMPLE_LOCATION)) {
        SampleLocationDetailQueryBuilder query =
            (SampleLocationDetailQueryBuilder) entry.getValue();
        query.getDetails(sampleDataBeans);
      } else if (queryKey.equals(KEY_DIAGNOSTIC)) {
        DiagnosticTestDetailQueryBuilder query =
            (DiagnosticTestDetailQueryBuilder) entry.getValue();
        query.getDetailsForConsents(consentMap);
      } else if (queryKey.equals(KEY_SAMPLE_KC)) {
        KcDetailQueryBuilder query = (KcDetailQueryBuilder) entry.getValue();
        query.getDetails(sampleDataBeans);
      } else if (queryKey.equals(KEY_CONSENT_KC)) {
        KcDetailQueryBuilder query = (KcDetailQueryBuilder) entry.getValue();
        query.getDetails(consentMap);
      } else if (queryKey.equals(KEY_DONOR_KC)) {
        KcDetailQueryBuilder query = (KcDetailQueryBuilder) entry.getValue();
        query.getDetails(donorMap);
      } else {
        throw new ApiException(
            "Unrecognized query key in ProductDetailQueryBuilder.getDetails:" + queryKey);
      }

      if (_perfLog.isDebugEnabled()) {
        long elapsedTime = System.currentTimeMillis() - tLoopStart;
        _perfLog.debug("    D: do detail query " + queryKey + " (" + elapsedTime + " ms)");
      }
    } // while next query

    if (_perfLog.isDebugEnabled()) {
      long elapsedTime = System.currentTimeMillis() - tStart;
      _perfLog.debug("    C: END   " + myClassName + ".getDetails" + " (" + elapsedTime + " ms)");
    }
  }