Search in sources :

Example 61 with Graph

use of org.gephi.graph.api.Graph in project gephi by gephi.

the class FilterControllerImpl method setSubQuery.

@Override
public void setSubQuery(Query query, Query subQuery) {
    //Init subquery when new filter
    if (subQuery.getParent() == null && subQuery != model.getCurrentQuery()) {
        Graph graph = null;
        if (model != null && model.getGraphModel() != null) {
            graph = model.getGraphModel().getGraph();
        } else {
            GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel(model.getWorkspace());
            graph = graphModel.getGraph();
        }
        Filter filter = subQuery.getFilter();
        if (filter instanceof NodeFilter || filter instanceof EdgeFilter || filter instanceof ElementFilter) {
            FilterProcessor filterProcessor = new FilterProcessor();
            filterProcessor.init(filter, graph);
        }
    }
    model.setSubQuery(query, subQuery);
}
Also used : Graph(org.gephi.graph.api.Graph) GraphModel(org.gephi.graph.api.GraphModel) GraphController(org.gephi.graph.api.GraphController)

Example 62 with Graph

use of org.gephi.graph.api.Graph in project gephi by gephi.

the class FilterControllerImpl method add.

@Override
public void add(Query query) {
    AbstractQueryImpl absQuery = ((AbstractQueryImpl) query);
    absQuery = absQuery.getRoot();
    if (!model.hasQuery(absQuery)) {
        model.addFirst(absQuery);
        //Init filters with default graph
        Graph graph = null;
        if (model != null && model.getGraphModel() != null) {
            graph = model.getGraphModel().getGraph();
        } else {
            GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel(model.getWorkspace());
            graph = graphModel.getGraph();
        }
        for (Query q : query.getDescendantsAndSelf()) {
            Filter filter = q.getFilter();
            if (filter instanceof NodeFilter || filter instanceof EdgeFilter || filter instanceof ElementFilter) {
                FilterProcessor filterProcessor = new FilterProcessor();
                filterProcessor.init(filter, graph);
            }
        }
    }
}
Also used : Graph(org.gephi.graph.api.Graph) Query(org.gephi.filters.api.Query) GraphModel(org.gephi.graph.api.GraphModel) GraphController(org.gephi.graph.api.GraphController)

Example 63 with Graph

use of org.gephi.graph.api.Graph in project gephi by gephi.

the class FilterControllerImpl method filter.

@Override
public GraphView filter(Query query) {
    FilterProcessor processor = new FilterProcessor();
    GraphModel graphModel = model.getGraphModel();
    Graph result = processor.process((AbstractQueryImpl) query, graphModel);
    return result.getView();
}
Also used : Graph(org.gephi.graph.api.Graph) GraphModel(org.gephi.graph.api.GraphModel)

Example 64 with Graph

use of org.gephi.graph.api.Graph in project gephi by gephi.

the class LegacyDataPersistenceProvider method readData.

public void readData(XMLStreamReader reader, GraphModel graphModel, LegacyMapHelper helper) throws XMLStreamException {
    Graph graph = graphModel.getGraph();
    boolean end = false;
    while (reader.hasNext() && !end) {
        Integer eventType = reader.next();
        if (eventType.equals(XMLEvent.START_ELEMENT)) {
            String name = reader.getLocalName();
            if (ELEMENT_NODEDATA.equalsIgnoreCase(name)) {
                Node node = graph.getNode(helper.preToIdMap.get(reader.getAttributeValue(null, "nodepre")));
                readNodeData(reader, node);
            } else if (ELEMENT_EDGEDATA.equalsIgnoreCase(name)) {
                Node source = graph.getNode(helper.preToIdMap.get(reader.getAttributeValue(null, "sourcepre")));
                Node target = graph.getNode(helper.preToIdMap.get(reader.getAttributeValue(null, "targetpre")));
                Edge edge = graph.getEdge(source, target, 0);
                readEdgeData(reader, edge);
            }
        } else if (eventType.equals(XMLStreamReader.END_ELEMENT)) {
            if (ELEMENT_DATA.equalsIgnoreCase(reader.getLocalName())) {
                end = true;
            }
        }
    }
}
Also used : Graph(org.gephi.graph.api.Graph) Node(org.gephi.graph.api.Node) Edge(org.gephi.graph.api.Edge)

Example 65 with Graph

use of org.gephi.graph.api.Graph in project gephi by gephi.

the class LegacyGraphPersistenceProvider method readEdges.

public void readEdges(XMLStreamReader reader, GraphModel graphModel, GraphFactory factory, LegacyMapHelper mapHelper) throws XMLStreamException {
    Graph graph = graphModel.getGraph();
    boolean end = false;
    while (reader.hasNext() && !end) {
        int type = reader.next();
        switch(type) {
            case XMLStreamReader.START_ELEMENT:
                String source = null;
                String target = null;
                String id = null;
                Boolean directed = false;
                Float weight = 0f;
                for (int i = 0; i < reader.getAttributeCount(); i++) {
                    String attName = reader.getAttributeName(i).getLocalPart();
                    if ("id".equalsIgnoreCase(attName)) {
                        id = reader.getAttributeValue(i);
                    } else if ("source".equalsIgnoreCase(attName)) {
                        source = reader.getAttributeValue(i);
                    } else if ("target".equalsIgnoreCase(attName)) {
                        target = reader.getAttributeValue(i);
                    } else if ("directed".equalsIgnoreCase(attName)) {
                        directed = Boolean.parseBoolean(reader.getAttributeValue(i));
                    } else if ("weight".equalsIgnoreCase(attName)) {
                        weight = Float.parseFloat(reader.getAttributeValue(i));
                    }
                }
                if (source == null || target == null || id == null) {
                    throw new IllegalArgumentException("source, target or id cannot be null");
                }
                Node srcNode = graph.getNode(mapHelper.preToIdMap.get(source));
                Node destNode = graph.getNode(mapHelper.preToIdMap.get(target));
                Edge edge = factory.newEdge(id, srcNode, destNode, 0, weight.doubleValue(), directed);
                graph.addEdge(edge);
                break;
            case XMLStreamReader.END_ELEMENT:
                if (ELEMENT_EDGES.equalsIgnoreCase(reader.getLocalName())) {
                    end = true;
                }
                break;
        }
    }
}
Also used : Graph(org.gephi.graph.api.Graph) Node(org.gephi.graph.api.Node) Edge(org.gephi.graph.api.Edge)

Aggregations

Graph (org.gephi.graph.api.Graph)104 GraphModel (org.gephi.graph.api.GraphModel)57 Node (org.gephi.graph.api.Node)50 DirectedGraph (org.gephi.graph.api.DirectedGraph)43 Test (org.testng.annotations.Test)36 GraphController (org.gephi.graph.api.GraphController)27 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)24 Edge (org.gephi.graph.api.Edge)21 Column (org.gephi.graph.api.Column)9 ArrayList (java.util.ArrayList)8 Function (org.gephi.appearance.api.Function)6 GraphView (org.gephi.graph.api.GraphView)6 AttributeFunction (org.gephi.appearance.api.AttributeFunction)5 AppearanceController (org.gephi.appearance.api.AppearanceController)4 AppearanceModel (org.gephi.appearance.api.AppearanceModel)4 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 TransformerUI (org.gephi.appearance.spi.TransformerUI)3 GraphElementsController (org.gephi.datalab.api.GraphElementsController)3 DataTablesController (org.gephi.datalab.api.datatables.DataTablesController)3