[
https://issues.apache.org/jira/browse/GIRAPH-277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13460052#comment-13460052
]
Hudson commented on GIRAPH-277:
-------------------------------
Integrated in Giraph-trunk-Commit #201 (See
[https://builds.apache.org/job/Giraph-trunk-Commit/201/])
Part of GIRAPH-277. (Revision 1388268)
GIRAPH-277: Text Vertex Input/Output Format base classes overhaul.
(nitayj via aching) (Revision 1388258)
Result = SUCCESS
aching : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1388268
Files :
*
/giraph/trunk/src/main/java/org/apache/giraph/io/AdjacencyListVertexReader.java
aching : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1388258
Files :
* /giraph/trunk/CHANGELOG
* /giraph/trunk/checkstyle.xml
*
/giraph/trunk/src/main/java/org/apache/giraph/examples/LongDoubleFloatDoubleTextInputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/examples/NormalizingLongDoubleFloatDoubleTextInputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/examples/SimplePageRankVertex.java
*
/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleSuperstepVertex.java
*
/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleTextVertexOutputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/examples/VertexWithDoubleValueFloatEdgeTextOutputFormat.java
* /giraph/trunk/src/main/java/org/apache/giraph/graph/VertexReader.java
* /giraph/trunk/src/main/java/org/apache/giraph/graph/VertexWriter.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/AdjacencyListTextVertexInputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/AdjacencyListTextVertexOutputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/IdWithValueTextOutputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/IntIntNullIntTextInputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/JsonBase64VertexInputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/JsonBase64VertexOutputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/JsonLongDoubleFloatDoubleVertexInputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/JsonLongDoubleFloatDoubleVertexOutputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/LongDoubleDoubleAdjacencyListVertexInputFormat.java
*
/giraph/trunk/src/main/java/org/apache/giraph/io/TextDoubleDoubleAdjacencyListVertexInputFormat.java
* /giraph/trunk/src/main/java/org/apache/giraph/io/TextVertexInputFormat.java
* /giraph/trunk/src/main/java/org/apache/giraph/io/TextVertexOutputFormat.java
*
/giraph/trunk/src/test/java/org/apache/giraph/io/TestAdjacencyListTextVertexOutputFormat.java
*
/giraph/trunk/src/test/java/org/apache/giraph/io/TestIdWithValueTextOutputFormat.java
*
/giraph/trunk/src/test/java/org/apache/giraph/io/TestLongDoubleDoubleAdjacencyListVertexInputFormat.java
*
/giraph/trunk/src/test/java/org/apache/giraph/io/TestTextDoubleDoubleAdjacencyListVertexInputFormat.java
> Text Vertex Input/Output Format base classes overhaul
> -----------------------------------------------------
>
> Key: GIRAPH-277
> URL: https://issues.apache.org/jira/browse/GIRAPH-277
> Project: Giraph
> Issue Type: Improvement
> Components: examples, lib
> Reporter: Jaeho Shin
> Assignee: Nitay Joffe
> Attachments: GIRAPH-227-4.patch, GIRAPH-277-2.patch,
> GIRAPH-277-3.patch, GIRAPH-277-5.patch, GIRAPH-277.patch
>
>
> The current way of implementing {{VertexInputFormat}} and {{VertexReader}}
> had bad smell. It required users to understand how these two classes are
> glued together, and forced similar codes to be duplicated in every new input
> format. (Similarly for the VertexOutputFormat and VertexWriter.) Anyone who
> wants to create a new format should create an underlying record reader or
> writer at the right moment and delegate some calls to it, which seemed
> unnecessary detail being exposed. Besides, type parameters had to appear all
> over every new format code, which was extremely annoying for both reading
> existing code and writing a new one. I was very frustrated writing my first
> format code especially when I compared it to writing a new vertex code. I
> thought writing a new input/output format should be as simple as vertex.
> So, I have refactored {{TextVertexInputFormat}} and {{OutputFormat}} into new
> forms that have no difference in their interfaces, but remove a lot of burden
> for subclassing. Instead of providing static VertexReader base classes, I
> made it a non-static inner-class of its format class, which helps eliminate
> the repeated code for gluing these two, already tightly coupled classes.
> This has additional advantage of eliminating all the Generics type variables
> on the VertexReader side, which makes overall code much more concise. I
> added several useful TextVertexReader base classes that can save efforts for
> implementing line-oriented formats.
> Please comment if you see my proposed change have any impact on other
> aspects. I'm unsure of how these additional layers of abstraction could
> affect performance.
--
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