You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@s2graph.apache.org by st...@apache.org on 2017/11/19 02:28:48 UTC
[05/23] incubator-s2graph git commit: remove null.
remove null.
Project: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/commit/cdfa0c3d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/tree/cdfa0c3d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/diff/cdfa0c3d
Branch: refs/heads/master
Commit: cdfa0c3d27d646481955c22f3b389e6cf5980a2a
Parents: 87394b9
Author: DO YUNG YOON <st...@apache.org>
Authored: Fri Nov 3 16:48:34 2017 +0900
Committer: DO YUNG YOON <st...@apache.org>
Committed: Fri Nov 3 16:48:34 2017 +0900
----------------------------------------------------------------------
.../org/apache/s2graph/core/S2EdgeLike.scala | 1 +
.../tall/IndexEdgeDeserializable.scala | 27 ++++++++++++--------
.../wide/IndexEdgeDeserializable.scala | 26 +++++++++++--------
3 files changed, 34 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/cdfa0c3d/s2core/src/main/scala/org/apache/s2graph/core/S2EdgeLike.scala
----------------------------------------------------------------------
diff --git a/s2core/src/main/scala/org/apache/s2graph/core/S2EdgeLike.scala b/s2core/src/main/scala/org/apache/s2graph/core/S2EdgeLike.scala
index bb58554..f823d60 100644
--- a/s2core/src/main/scala/org/apache/s2graph/core/S2EdgeLike.scala
+++ b/s2core/src/main/scala/org/apache/s2graph/core/S2EdgeLike.scala
@@ -48,6 +48,7 @@ trait S2EdgeLike extends Edge with GraphElement {
lazy val labelName = innerLabel.label
lazy val direction = GraphUtil.fromDirection(dir)
+ def setTgtVertex(v: S2VertexLike): Unit = tgtVertex = v
def getOp(): Byte = op
def setOp(newOp: Byte): Unit = op = newOp
def getVersion(): Long = version
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/cdfa0c3d/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/tall/IndexEdgeDeserializable.scala
----------------------------------------------------------------------
diff --git a/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/tall/IndexEdgeDeserializable.scala b/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/tall/IndexEdgeDeserializable.scala
index 01f268b..8e3fdf3 100644
--- a/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/tall/IndexEdgeDeserializable.scala
+++ b/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/tall/IndexEdgeDeserializable.scala
@@ -62,9 +62,6 @@ class IndexEdgeDeserializable(graph: S2Graph,
val label = Label.findById(labelWithDir.labelId)
val schemaVer = label.schemaVersion
val srcVertex = graph.newVertex(srcVertexId, version)
- //TODO:
- val edge = graph.newEdge(srcVertex, null,
- label, labelWithDir.dir, GraphUtil.defaultOpByte, version, S2Edge.EmptyState)
var tsVal = version
val isTallSchema = tallSchemaVersions(label.schemaVersion)
val isDegree = if (isTallSchema) pos == kv.row.length else kv.qualifier.isEmpty
@@ -74,12 +71,17 @@ class IndexEdgeDeserializable(graph: S2Graph,
// val degreeVal = Bytes.toLong(kv.value)
val degreeVal = bytesToLongFunc(kv.value, 0)
val tgtVertexId = VertexId(ServiceColumn.Default, InnerVal.withStr("0", schemaVer))
+ val tgtVertex = graph.newVertex(tgtVertexId, version)
+ val edge = graph.newEdge(srcVertex, tgtVertex,
+ label, labelWithDir.dir, GraphUtil.defaultOpByte, version, S2Edge.EmptyState)
edge.propertyInner(LabelMeta.timestamp.name, version, version)
edge.propertyInner(LabelMeta.degree.name, degreeVal, version)
edge.tgtVertex = graph.newVertex(tgtVertexId, version)
edge.setOp(GraphUtil.defaultOpByte)
edge.setTsInnerValOpt(Option(InnerVal.withLong(tsVal, schemaVer)))
+
+ Option(edge)
} else {
// not degree edge
val (idxPropsRaw, endAt) =
@@ -111,6 +113,10 @@ class IndexEdgeDeserializable(graph: S2Graph,
else kv.qualifier(kv.qualifier.length - 1)
}
+ val tgtVertex = graph.newVertex(tgtVertexIdRaw, version)
+ val edge = graph.newEdge(srcVertex, tgtVertex,
+ label, labelWithDir.dir, GraphUtil.defaultOpByte, version, S2Edge.EmptyState)
+
val index = label.indicesMap.getOrElse(labelIdxSeq, throw new RuntimeException(s"invalid index seq: ${label.id.get}, ${labelIdxSeq}"))
/* process indexProps */
val size = idxPropsRaw.length
@@ -141,18 +147,19 @@ class IndexEdgeDeserializable(graph: S2Graph,
}
/* process tgtVertexId */
- val tgtVertexId =
- if (edge.checkProperty(LabelMeta.to.name)) {
- val vId = edge.property(LabelMeta.to.name).asInstanceOf[S2Property[_]].innerValWithTs
- TargetVertexId(ServiceColumn.Default, vId.innerVal)
- } else tgtVertexIdRaw
+
+ if (edge.checkProperty(LabelMeta.to.name)) {
+ val vId = edge.property(LabelMeta.to.name).asInstanceOf[S2Property[_]].innerValWithTs
+ val tgtVertex = graph.newVertex(TargetVertexId(ServiceColumn.Default, vId.innerVal), version)
+ edge.setTgtVertex(tgtVertex)
+ }
edge.propertyInner(LabelMeta.timestamp.name, tsVal, version)
- edge.tgtVertex = graph.newVertex(tgtVertexId, version)
edge.setOp(op)
edge.setTsInnerValOpt(Option(InnerVal.withLong(tsVal, schemaVer)))
+
+ Option(edge)
}
- Option(edge)
}
} catch {
case e: Exception =>
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/cdfa0c3d/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/wide/IndexEdgeDeserializable.scala
----------------------------------------------------------------------
diff --git a/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/wide/IndexEdgeDeserializable.scala b/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/wide/IndexEdgeDeserializable.scala
index a7fe8a1..f5d9af9 100644
--- a/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/wide/IndexEdgeDeserializable.scala
+++ b/s2core/src/main/scala/org/apache/s2graph/core/storage/serde/indexedge/wide/IndexEdgeDeserializable.scala
@@ -57,19 +57,22 @@ class IndexEdgeDeserializable(graph: S2Graph,
val schemaVer = label.schemaVersion
val srcVertex = graph.newVertex(srcVertexId, version)
//TODO:
- val edge = graph.newEdge(srcVertex, null,
- label, labelWithDir.dir, GraphUtil.defaultOpByte, version, S2Edge.EmptyState)
var tsVal = version
if (kv.qualifier.isEmpty) {
val degreeVal = bytesToLongFunc(kv.value, 0)
val tgtVertexId = VertexId(ServiceColumn.Default, InnerVal.withStr("0", schemaVer))
+ val tgtVertex = graph.newVertex(tgtVertexId, version)
+ val edge = graph.newEdge(srcVertex, tgtVertex,
+ label, labelWithDir.dir, GraphUtil.defaultOpByte, version, S2Edge.EmptyState)
edge.propertyInner(LabelMeta.timestamp.name, version, version)
edge.propertyInner(LabelMeta.degree.name, degreeVal, version)
edge.tgtVertex = graph.newVertex(tgtVertexId, version)
edge.setOp(GraphUtil.defaultOpByte)
edge.setTsInnerValOpt(Option(InnerVal.withLong(tsVal, schemaVer)))
+
+ Option(edge)
} else {
pos = 0
val (idxPropsRaw, endAt) = bytesToProps(kv.qualifier, pos, schemaVer)
@@ -85,6 +88,10 @@ class IndexEdgeDeserializable(graph: S2Graph,
if (kv.qualifier.length == pos) GraphUtil.defaultOpByte
else kv.qualifier(kv.qualifier.length-1)
+ val tgtVertex = graph.newVertex(tgtVertexIdRaw, version)
+ val edge = graph.newEdge(srcVertex, tgtVertex,
+ label, labelWithDir.dir, GraphUtil.defaultOpByte, version, S2Edge.EmptyState)
+
val index = label.indicesMap.getOrElse(labelIdxSeq, throw new RuntimeException(s"invalid index seq: ${label.id.get}, ${labelIdxSeq}"))
/* process indexProps */
@@ -115,19 +122,18 @@ class IndexEdgeDeserializable(graph: S2Graph,
}
}
/* process tgtVertexId */
- val tgtVertexId =
- if (edge.checkProperty(LabelMeta.to.name)) {
- val vId = edge.property(LabelMeta.to.name).asInstanceOf[S2Property[_]].innerValWithTs
- TargetVertexId(ServiceColumn.Default, vId.innerVal)
- } else tgtVertexIdRaw
+ if (edge.checkProperty(LabelMeta.to.name)) {
+ val vId = edge.property(LabelMeta.to.name).asInstanceOf[S2Property[_]].innerValWithTs
+ val tgtVertex = graph.newVertex(TargetVertexId(ServiceColumn.Default, vId.innerVal), version)
+ edge.setTgtVertex(tgtVertex)
+ }
edge.propertyInner(LabelMeta.timestamp.name, tsVal, version)
- edge.tgtVertex = graph.newVertex(tgtVertexId, version)
edge.setOp(op)
edge.setTsInnerValOpt(Option(InnerVal.withLong(tsVal, schemaVer)))
- }
- Option(edge)
+ Option(edge)
+ }
}
} catch {
case e: Exception => None