protected void displayDetails()

in uimaj-ep-deployeditor/src/main/java/org/apache/uima/dde/internal/details/AEMetaDataDetailsPage.java [557:689]


  protected void displayDetails(AEDeploymentMetaData obj) {    
    sectionAEMetaDataDetails.setRedraw(false);
    sectionAEMetaDataDetails.setText(Messages.DDE_AEConfigPage_AEConfig_Section_Title
            + " - " + obj.getKey());
    sectionAEMetaDataDetails.setExpanded(false);
    sectionAEMetaDataDetails.setExpanded(true);
    sectionAEMetaDataDetails.setRedraw(true);
    
    if (obj.isTopAnalysisEngine()) {
      deploymentRemote.setEnabled(false);
      deploymentCoLocated.setEnabled(false);
    } else {
      deploymentRemote.setEnabled(true);
      deploymentCoLocated.setEnabled(true);
      if (!deploymentCoLocated.getSelection()) {
        deploymentRemote.setSelection(false);
        deploymentCoLocated.setSelection(true);
      }
    }

    if (stackLayout.topControl != compositeCoLocatedSetting) {
      stackLayout.topControl = compositeCoLocatedSetting;
      stackLayoutComposite.layout();
    }
    if (obj.isAsync()) {
      scaleout.setSelection(1);
      scaleout.setEnabled(false);
      scaleout.setToolTipText("For AS Aggregate, only 1 instance is allowed.");
      labelInputQueueScaleout.setVisible(true);
      inputQueueScaleout.setVisible(true);
      labelReplyQueueForCoLocated.setVisible(true);
      replyQueueListenersForCoLocated.setVisible(true);
    } else {
      scaleout.setEnabled(true);
      scaleout.setToolTipText(null);
      scaleout.setSelection(obj.getNumberOfInstances());
      labelInputQueueScaleout.setVisible(false);
      inputQueueScaleout.setVisible(false);
      labelReplyQueueForCoLocated.setVisible(false);
      replyQueueListenersForCoLocated.setVisible(false);
    }
    
    ResourceSpecifier rs = obj.getResourceSpecifier();
    showStatus(null, IMessageProvider.NONE);
    if (rs != null) {
      // Is AnalysisEngineDescription ?
      if (rs instanceof AnalysisEngineDescription) {
        AnalysisEngineDescription aed = (AnalysisEngineDescription) rs;

        // Is CAs Multiplier ?
        // Only for AS primitive CAS Multiplier
        if (!obj.isAsync() && AETreeBuilder.isCASMultiplier(aed)) {
          // Trace.err("CASMultiplier pool size: " + obj.getCasMultiplierPoolSize());
          casMultiplierLabel.setVisible(true);
          casMultiplier.setVisible(true);
          casMultiplier.setSelection(obj.getCasMultiplierPoolSize());
          initialFsHeapSizeLabel.setVisible(true);
          initialFsHeapSize.setVisible(true);
          initialFsHeapSize.setSelection(obj.getInitialFsHeapSize());
          processParentCASLast.setVisible(true);
          processParentCASLast.setSelection(obj.getProcessParentCASLast());
        } else {
          casMultiplierLabel.setVisible(false);
          casMultiplier.setVisible(false);
          initialFsHeapSizeLabel.setVisible(false);
          initialFsHeapSize.setVisible(false);
          processParentCASLast.setVisible(false);
        }
        // Is Primitive ?
        if (aed.isPrimitive()) {
          asMode.setEnabled(false);
          asMode.setSelection(false);
        } else {
          asMode.setEnabled(true);
          asMode.setSelection(obj.isAsync());
          if (obj.isAsync()) {
            if (obj.getInputQueueScaleout() > 0) {
              inputQueueScaleout.setSelection(obj.getInputQueueScaleout());
            }
            if (obj.getInternalReplyQueueScaleout() > 0) {
              replyQueueListenersForCoLocated.setSelection(obj.getInternalReplyQueueScaleout());
            }
          }
        }
      } else if (rs instanceof CollectionReaderDescription) {
        // Handle as CAS Multiplier
        casMultiplierLabel.setVisible(true);
        casMultiplier.setVisible(true);
        casMultiplier.setSelection(obj.getCasMultiplierPoolSize());
        initialFsHeapSizeLabel.setVisible(true);
        initialFsHeapSize.setVisible(true);
        initialFsHeapSize.setSelection(obj.getInitialFsHeapSize());
        
        asMode.setEnabled(false);
        asMode.setSelection(false);
      } else {
        // CAS Consumer, ...
        casMultiplierLabel.setVisible(false);
        casMultiplier.setVisible(false);
        initialFsHeapSizeLabel.setVisible(false);
        initialFsHeapSize.setVisible(false);
        asMode.setEnabled(false);
        asMode.setSelection(false);
      }
    } else {
      String parentKey = null;
      if (obj.getParent() != null) {
        parentKey = obj.getParent().getKey();          
      } else {
        if (obj.isTopAnalysisEngine()) {
          showStatus("The top descriptor is not specified.", IMessageProvider.ERROR);
          return;
        }
      }
      if (parentKey == null) {
        parentKey = "Top Analysis Engine";
      }
      Trace.err("The analysis engine's key=\"" + obj.getKey()
              + "\" is not valid for the aggregate \"" + parentKey + "\"");
      showStatus("The analysis engine's key=\"" + obj.getKey()
              + "\" is not valid for the aggregate \"" + parentKey + "\"", IMessageProvider.ERROR);
    }
    // casMultiplier.setVisible(show);

    // Error Config
    AsyncAEErrorConfiguration errorConfig = obj.getAsyncAEErrorConfiguration();
    if (errorConfig != null) {
      errorConfigDetails.displayDetails((DeploymentMetaData_Impl)obj, errorConfig);
    } else {
      Trace.bug("errorConfig == null");
    }
    
  }