Пример #1
0
  private Collection getTransforMationsForTable(
      final Object container,
      final String entityName,
      final char recordType,
      final boolean isPartialName) {
    AbstractNameFinder finder = null;
    switch (recordType) {
      case IndexConstants.RECORD_TYPE.SELECT_TRANSFORM:
      case IndexConstants.RECORD_TYPE.INSERT_TRANSFORM:
      case IndexConstants.RECORD_TYPE.UPDATE_TRANSFORM:
      case IndexConstants.RECORD_TYPE.DELETE_TRANSFORM:
      case IndexConstants.RECORD_TYPE.MAPPING_TRANSFORM:
        finder = new TableNameFinder(entityName, isPartialName);
        break;
      case IndexConstants.RECORD_TYPE.PROC_TRANSFORM:
        finder = new ProcedureNameFinder(entityName, isPartialName);
        break;
      default:
        throw new ModelerCoreRuntimeException(
            TransformationPlugin.Util.getString(
                "TransformationMetadata.No_known_index_file_type_associated_with_the_recordType_1",
                new Character(recordType))); // $NON-NLS-1$		
    }

    executeVisitor(container, finder, ModelVisitorProcessor.DEPTH_INFINITE);
    Collection matches = finder.getMatchingEObjects();
    Collection transforms = new ArrayList(matches.size());
    for (Iterator targetIter = matches.iterator(); targetIter.hasNext(); ) {
      EObject targetObj = (EObject) targetIter.next();
      if (org.teiid.designer.core.metamodel.aspect.sql.SqlAspectHelper.isValidTransformationTarget(
          targetObj)) {
        EObject mappinRoot = TransformationHelper.getMappingRoot(targetObj);
        transforms.add(mappinRoot);
      }
    }

    return transforms;
  }