private static boolean mayContainCasMultiplier()

in uimafit-cpe/src/main/java/org/apache/uima/fit/cpe/CpePipeline.java [149:171]


  private static boolean mayContainCasMultiplier(final AnalysisEngineDescription desc) {
    if (desc.isPrimitive()) {
      return desc.getAnalysisEngineMetaData().getOperationalProperties()
              .isMultipleDeploymentAllowed();
    }

    for (MetaDataObject mdo : desc.getDelegateAnalysisEngineSpecifiersWithImports().values()) {
      if (mdo instanceof Import) {
        // The imported delegate might be a CAS multiplier, but we cannot really tell without
        // risking an exception. So let's just assume it does.
        return true;
      }

      if (mdo instanceof AnalysisEngineDescription) {
        AnalysisEngineDescription aed = (AnalysisEngineDescription) mdo;
        if (aed.getAnalysisEngineMetaData().getOperationalProperties().getOutputsNewCASes()) {
          return true;
        }
      }
    }

    return false;
  }