Jake Mannix commented on GIRAPH-36:

Regarding 1) - I guess I can see how VertexReader could be an abstract base 
class which hangs onto the GraphState, and instantiates the BasicVertex 
instances for its subclasses, using the private GraphState reference, and 
passing it to an abstract initializeVertex(BasicVertex<I,V,E,M> v) method to be 
populated via the (newly added in this patch) BasicVertex#initialize(<lotso 
args>) method.

Thinking further on 2) - am I just not seeing how we could easily make 
VertexReader act like an Iterator / factory for BasicVertex instances without 
typing it by the type of the thing it's to instantiate?
> Ensure that subclassing BasicVertex is possible by user apps
> ------------------------------------------------------------
>                 Key: GIRAPH-36
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-36
>             Project: Giraph
>          Issue Type: Improvement
>          Components: graph
>    Affects Versions: 0.70.0
>            Reporter: Jake Mannix
>            Assignee: Jake Mannix
>            Priority: Blocker
>             Fix For: 0.70.0
>         Attachments: GIRAPH-36.diff
> Original assumptions in Giraph were that all users would subclass Vertex 
> (which extended MutableVertex extended BasicVertex).  Classes which wish to 
> have application specific data structures (ie. not a TreeMap<I, Edge<I,E>>) 
> may need to extend either MutableVertex or BasicVertex.  Unfortunately 
> VertexRange extends ArrayList<Vertex>, and there are other places where the 
> assumption is that vertex classes are either Vertex, or at least 
> MutableVertex.
> Let's make sure the internal APIs allow for BasicVertex to be the base class.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to