コード例 #1
0
ファイル: EvolutionGraph.java プロジェクト: evakont/Hecataeus
  /**
   * used for finding the providerEdges of a node (through from, map-select, operand edges, gb
   * edges)
   */
  public List<E> getProviderEdges(V node) {

    List<E> providerEdges = new ArrayList<E>();

    for (E e : this.getInEdges(node)) {
      if ((e.getType() == EdgeType.toEdgeType("EDGE_TYPE_MAPPING"))
          || (e.getType() == EdgeType.toEdgeType("EDGE_TYPE_FROM"))
          || (e.getType() == EdgeType.toEdgeType("EDGE_TYPE_GROUP_BY"))
          || (e.getType() == EdgeType.toEdgeType("EDGE_TYPE_OPERATOR"))
          || (e.getType() == EdgeType.toEdgeType("EDGE_TYPE_ALIAS"))
          || (e.getType() == EdgeType.toEdgeType("EDGE_TYPE_USES"))) {
        providerEdges.add(e);
      }
    }
    return providerEdges;
  }
コード例 #2
0
ファイル: EvolutionGraph.java プロジェクト: evakont/Hecataeus
 /** used for finding the parent of a node (query, view, relation) */
 public V getParentNode(V node) {
   for (E e : this.getInEdges(node)) {
     // if node is attribute then
     if (((node.getType() == NodeType.NODE_TYPE_ATTRIBUTE)
             && (e.getType() == EdgeType.EDGE_TYPE_SCHEMA))
         || ((node.getType() == NodeType.NODE_TYPE_CONDITION)
             && (e.getType() == EdgeType.EDGE_TYPE_OPERATOR))
         || ((node.getType() == NodeType.NODE_TYPE_OPERAND)
             && ((e.getType() == EdgeType.EDGE_TYPE_OPERATOR)
                 || (e.getType() == EdgeType.EDGE_TYPE_WHERE)))
         || (node.getType() == NodeType.NODE_TYPE_CONSTANT)
         || ((node.getType() == NodeType.NODE_TYPE_GROUP_BY)
             && (e.getType() == EdgeType.EDGE_TYPE_GROUP_BY))
         || (node.getType() == NodeType.NODE_TYPE_FUNCTION)) return this.getSource(e);
   }
   return null;
 }
コード例 #3
0
ファイル: EvolutionGraph.java プロジェクト: evakont/Hecataeus
 /** get edge by name and type */
 public E findEdge(String Name, EdgeType Type) {
   for (E u : this.getEdges()) {
     if ((u.getName().toUpperCase().equals(Name.toUpperCase()) && u.getType() == Type)) {
       return u;
     }
   }
   return null;
 }
コード例 #4
0
ファイル: EvolutionGraph.java プロジェクト: evakont/Hecataeus
 /**
  * *
  *
  * @return all edges of the graph of specific type EdgeType
  */
 public List<E> getEdges(EdgeType type) {
   List<E> edges = new ArrayList<E>();
   for (E edge : this.getEdges()) {
     if (edge.getType() == type) {
       edges.add(edge);
     }
   }
   return edges;
 }
コード例 #5
0
 private SelectedElementInfo(@Nullable E element) {
   myElement = element;
   if (myElement != null) {
     //noinspection unchecked
     myCurrentPanel = element.getType().createElementPropertiesPanel(myElement, myContext);
     myPropertiesPanel.removeAll();
     if (myCurrentPanel != null) {
       myPropertiesPanel.add(
           BorderLayout.CENTER,
           ScrollPaneFactory.createScrollPane(myCurrentPanel.createComponent(), true));
       myCurrentPanel.reset();
       myPropertiesPanel.revalidate();
     }
   }
 }