/** * 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; }
/** 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; }
/** 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; }
/** * * * * @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; }
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(); } } }