Beispiel #1
0
  @Override
  public boolean valid(
      Item item,
      ERepositoryObjectType type,
      RepositoryNode seletetedNode,
      IComponent component,
      String repositoryType) {
    if (!(item instanceof MDMConnectionItem)) {
      return false;
    }
    // for mdm
    MdmConceptType mdmType = null;
    if (item instanceof MDMConnectionItem) {
      MDMConnectionItem mdmItem = (MDMConnectionItem) item;
      if (seletetedNode != null
          && seletetedNode.getObject() instanceof MetadataTableRepositoryObject) {
        MetadataTableRepositoryObject object =
            (MetadataTableRepositoryObject) seletetedNode.getObject();
        if (mdmItem.getConnection() instanceof MDMConnection) {
          MDMConnection connection = (MDMConnection) mdmItem.getConnection();
          for (Object obj : connection.getSchemas()) {
            if (obj instanceof Concept && object.getLabel().equals(((Concept) obj).getLabel())) {
              mdmType = ((Concept) obj).getConceptType();
            }
          }
        }
      }
    }

    String componentProductname = component.getRepositoryType();
    if (componentProductname != null
        && repositoryType.endsWith(componentProductname)
        && validSub(item, type, seletetedNode, component, repositoryType)) {
      if (MdmConceptType.INPUT.equals(mdmType)
          && component.getName().endsWith(RepositoryComponentManager.INPUT)) {
        return true;
      } else if (MdmConceptType.OUTPUT.equals(mdmType)
          && component.getName().endsWith(RepositoryComponentManager.OUTPUT)) {
        return true;
      } else if (MdmConceptType.RECEIVE.equals(mdmType) && component.getName().endsWith(RECEIVE)) {
        return true;
      }
    }

    return false;
  }
  private boolean isValid(
      Item item,
      ERepositoryObjectType type,
      RepositoryNode seletetedNode,
      IComponent component,
      String repositoryType) {
    if (component == null || repositoryType == null) {
      return false;
    }

    String componentProductname = component.getRepositoryType();
    if (componentProductname != null
        && componentProductname.contains(repositoryType)
        && isSubValid(item, type, seletetedNode, component, repositoryType)) {
      return true;
    }
    return false;
  }