Merge branch 'tp32'
Conflicts:
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/863fbe87
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/863fbe87
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/863fbe87
Branch: refs/heads/TINKERPOP-1130
Commit: 863fbe87e75ec9c90b1f545a431b1f03355dfcdd
Parents: a4a059c 73b2d65
Author: Stephen Mallette <[email protected]>
Authored: Tue Dec 20 15:22:31 2016 -0500
Committer: Stephen Mallette <[email protected]>
Committed: Tue Dec 20 15:22:31 2016 -0500
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../gremlin/structure/io/gryo/GryoMapper.java | 349 ++++++++++---------
.../gremlin/structure/io/gryo/GryoVersion.java | 36 ++
.../structure/io/gryo/UtilSerializers.java | 2 +-
4 files changed, 220 insertions(+), 168 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/863fbe87/CHANGELOG.asciidoc
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/863fbe87/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
----------------------------------------------------------------------
diff --cc
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
index acf8193,cece932..fca11e6
---
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
+++
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
@@@ -247,6 -229,148 +251,173 @@@ public final class GryoMapper implement
throw new IllegalStateException("There are duplicate kryo
identifiers in use: " + duplicates);
}
+ public final static class BuilderV1d0 extends Builder {
+ @Override
+ public List<TypeRegistration<?>> initTypeRegistrations() {
+ return new ArrayList<TypeRegistration<?>>() {{
+ add(GryoTypeReg.of(byte[].class, 25));
+ add(GryoTypeReg.of(char[].class, 26));
+ add(GryoTypeReg.of(short[].class, 27));
+ add(GryoTypeReg.of(int[].class, 28));
+ add(GryoTypeReg.of(long[].class, 29));
+ add(GryoTypeReg.of(float[].class, 30));
+ add(GryoTypeReg.of(double[].class, 31));
+ add(GryoTypeReg.of(String[].class, 32));
+ add(GryoTypeReg.of(Object[].class, 33));
+ add(GryoTypeReg.of(ArrayList.class, 10));
+ add(GryoTypeReg.of(ARRAYS_AS_LIST, 134, new
UtilSerializers.ArraysAsListSerializer()));
+ add(GryoTypeReg.of(BigInteger.class, 34));
+ add(GryoTypeReg.of(BigDecimal.class, 35));
+ add(GryoTypeReg.of(Calendar.class, 39));
+ add(GryoTypeReg.of(Class.class, 41, new
UtilSerializers.ClassSerializer()));
+ add(GryoTypeReg.of(Collection.class, 37));
+ add(GryoTypeReg.of(Collections.EMPTY_LIST.getClass(), 51));
+ add(GryoTypeReg.of(Collections.EMPTY_MAP.getClass(), 52));
+ add(GryoTypeReg.of(Collections.EMPTY_SET.getClass(), 53));
+ add(GryoTypeReg.of(Collections.singleton(null).getClass(),
54));
+
add(GryoTypeReg.of(Collections.singletonList(null).getClass(), 24));
+ add(GryoTypeReg.of(Collections.singletonMap(null,
null).getClass(), 23));
+ add(GryoTypeReg.of(Contains.class, 49));
+ add(GryoTypeReg.of(Currency.class, 40));
+ add(GryoTypeReg.of(Date.class, 38));
+ add(GryoTypeReg.of(Direction.class, 12));
+ add(GryoTypeReg.of(DetachedEdge.class, 21));
+ add(GryoTypeReg.of(DetachedVertexProperty.class, 20));
+ add(GryoTypeReg.of(DetachedProperty.class, 18));
+ add(GryoTypeReg.of(DetachedVertex.class, 19));
+ add(GryoTypeReg.of(DetachedPath.class, 60));
+ // skip 14
+ add(GryoTypeReg.of(EnumSet.class, 46));
+ add(GryoTypeReg.of(HashMap.class, 11));
+ add(GryoTypeReg.of(HashMap.Entry.class, 16));
+ add(GryoTypeReg.of(HASH_MAP_NODE, 92));
+ add(GryoTypeReg.of(KryoSerializable.class, 36));
+ add(GryoTypeReg.of(LinkedHashMap.class, 47));
+ add(GryoTypeReg.of(LinkedHashSet.class, 71));
+ add(GryoTypeReg.of(LinkedList.class, 116));
+ add(GryoTypeReg.of(LINKED_HASH_MAP_ENTRY_CLASS, 15));
+ add(GryoTypeReg.of(Locale.class, 22));
+ add(GryoTypeReg.of(StringBuffer.class, 43));
+ add(GryoTypeReg.of(StringBuilder.class, 44));
+ add(GryoTypeReg.of(T.class, 48));
+ add(GryoTypeReg.of(TimeZone.class, 42));
+ add(GryoTypeReg.of(TreeMap.class, 45));
+ add(GryoTypeReg.of(TreeSet.class, 50));
+ add(GryoTypeReg.of(UUID.class, 17, new
UtilSerializers.UUIDSerializer()));
+ add(GryoTypeReg.of(URI.class, 72, new
UtilSerializers.URISerializer()));
+ add(GryoTypeReg.of(VertexTerminator.class, 13));
+ add(GryoTypeReg.of(AbstractMap.SimpleEntry.class, 120));
+ add(GryoTypeReg.of(AbstractMap.SimpleImmutableEntry.class,
121));
+ add(GryoTypeReg.of(java.sql.Timestamp.class, 161));
+ add(GryoTypeReg.of(InetAddress.class, 162, new
UtilSerializers.InetAddressSerializer()));
+ add(GryoTypeReg.of(ByteBuffer.class, 163, new
UtilSerializers.ByteBufferSerializer())); // ***LAST ID***
+
+ add(GryoTypeReg.of(ReferenceEdge.class, 81));
+ add(GryoTypeReg.of(ReferenceVertexProperty.class, 82));
+ add(GryoTypeReg.of(ReferenceProperty.class, 83));
+ add(GryoTypeReg.of(ReferenceVertex.class, 84));
+ add(GryoTypeReg.of(ReferencePath.class, 85));
+
+ add(GryoTypeReg.of(StarGraph.class, 86, new
StarGraphSerializer(Direction.BOTH, new GraphFilter())));
+
+ add(GryoTypeReg.of(Edge.class, 65, new
GryoSerializers.EdgeSerializer()));
+ add(GryoTypeReg.of(Vertex.class, 66, new
GryoSerializers.VertexSerializer()));
+ add(GryoTypeReg.of(Property.class, 67, new
GryoSerializers.PropertySerializer()));
+ add(GryoTypeReg.of(VertexProperty.class, 68, new
GryoSerializers.VertexPropertySerializer()));
+ add(GryoTypeReg.of(Path.class, 59, new
GryoSerializers.PathSerializer()));
+ // skip 55
+ add(GryoTypeReg.of(B_O_Traverser.class, 75));
+ add(GryoTypeReg.of(O_Traverser.class, 76));
+ add(GryoTypeReg.of(B_LP_O_P_S_SE_SL_Traverser.class, 77));
+ add(GryoTypeReg.of(B_O_S_SE_SL_Traverser.class, 78));
+ add(GryoTypeReg.of(B_LP_O_S_SE_SL_Traverser.class, 87));
+ add(GryoTypeReg.of(O_OB_S_SE_SL_Traverser.class, 89));
+ add(GryoTypeReg.of(LP_O_OB_S_SE_SL_Traverser.class, 90));
+ add(GryoTypeReg.of(LP_O_OB_P_S_SE_SL_Traverser.class, 91));
+ add(GryoTypeReg.of(DefaultRemoteTraverser.class, 123, new
GryoSerializers.DefaultRemoteTraverserSerializer()));
+
+ add(GryoTypeReg.of(Bytecode.class, 122, new
GryoSerializers.BytecodeSerializer()));
+ add(GryoTypeReg.of(P.class, 124, new
GryoSerializers.PSerializer()));
+ add(GryoTypeReg.of(Lambda.class, 125, new
GryoSerializers.LambdaSerializer()));
+ add(GryoTypeReg.of(Bytecode.Binding.class, 126, new
GryoSerializers.BindingSerializer()));
+ add(GryoTypeReg.of(Order.class, 127));
+ add(GryoTypeReg.of(Scope.class, 128));
+ add(GryoTypeReg.of(AndP.class, 129, new
GryoSerializers.AndPSerializer()));
+ add(GryoTypeReg.of(OrP.class, 130, new
GryoSerializers.OrPSerializer()));
+ add(GryoTypeReg.of(VertexProperty.Cardinality.class, 131));
+ add(GryoTypeReg.of(Column.class, 132));
+ add(GryoTypeReg.of(Pop.class, 133));
+ add(GryoTypeReg.of(SackFunctions.Barrier.class, 135));
+ add(GryoTypeReg.of(TraversalOptionParent.Pick.class, 137));
+ add(GryoTypeReg.of(HashSetSupplier.class, 136, new
UtilSerializers.HashSetSupplierSerializer()));
+
++ add(GryoTypeReg.of(ConnectiveStrategy.class, 138));
++ add(GryoTypeReg.of(HaltedTraverserStrategy.class, 139));
++ add(GryoTypeReg.of(PartitionStrategy.class, 140, new
JavaSerializer()));
++ add(GryoTypeReg.of(SubgraphStrategy.class, 141, new
JavaSerializer()));
++ add(GryoTypeReg.of(VertexProgramStrategy.class, 142, new
JavaSerializer()));
++ add(GryoTypeReg.of(MatchAlgorithmStrategy.class, 143));
++ add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class,
144));
++ add(GryoTypeReg.of(AdjacentToIncidentStrategy.class, 145));
++ add(GryoTypeReg.of(FilterRankingStrategy.class, 146));
++ add(GryoTypeReg.of(IdentityRemovalStrategy.class, 147));
++ add(GryoTypeReg.of(IncidentToAdjacentStrategy.class, 148));
++ add(GryoTypeReg.of(InlineFilterStrategy.class, 149));
++ add(GryoTypeReg.of(LazyBarrierStrategy.class, 150));
++ add(GryoTypeReg.of(MatchPredicateStrategy.class, 151));
++ add(GryoTypeReg.of(OrderLimitStrategy.class, 152));
++ add(GryoTypeReg.of(PathProcessorStrategy.class, 153));
++ add(GryoTypeReg.of(PathRetractionStrategy.class, 154));
++ add(GryoTypeReg.of(RangeByIsCountStrategy.class, 155));
++ add(GryoTypeReg.of(RepeatUnrollStrategy.class, 156));
++ add(GryoTypeReg.of(GraphFilterStrategy.class, 157));
++ add(GryoTypeReg.of(LambdaRestrictionStrategy.class, 158));
++ add(GryoTypeReg.of(ReadOnlyStrategy.class, 159));
++ add(GryoTypeReg.of(MatchStep.CountMatchAlgorithm.class, 160));
++ add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class,
164)); // ### LAST_ID
++
+ add(GryoTypeReg.of(TraverserSet.class, 58));
+ add(GryoTypeReg.of(Tree.class, 61));
+ add(GryoTypeReg.of(HashSet.class, 62));
+ add(GryoTypeReg.of(BulkSet.class, 64));
+ add(GryoTypeReg.of(MutableMetrics.class, 69));
+ add(GryoTypeReg.of(ImmutableMetrics.class, 115));
+ add(GryoTypeReg.of(DefaultTraversalMetrics.class, 70));
+ add(GryoTypeReg.of(MapMemory.class, 73));
+ add(GryoTypeReg.of(MapReduce.NullObject.class, 74));
+ add(GryoTypeReg.of(AtomicLong.class, 79));
+ add(GryoTypeReg.of(Pair.class, 88, new
UtilSerializers.PairSerializer()));
+ add(GryoTypeReg.of(TraversalExplanation.class, 106, new
JavaSerializer()));
+
+ add(GryoTypeReg.of(Duration.class, 93, new
JavaTimeSerializers.DurationSerializer()));
+ add(GryoTypeReg.of(Instant.class, 94, new
JavaTimeSerializers.InstantSerializer()));
+ add(GryoTypeReg.of(LocalDate.class, 95, new
JavaTimeSerializers.LocalDateSerializer()));
+ add(GryoTypeReg.of(LocalDateTime.class, 96, new
JavaTimeSerializers.LocalDateTimeSerializer()));
+ add(GryoTypeReg.of(LocalTime.class, 97, new
JavaTimeSerializers.LocalTimeSerializer()));
+ add(GryoTypeReg.of(MonthDay.class, 98, new
JavaTimeSerializers.MonthDaySerializer()));
+ add(GryoTypeReg.of(OffsetDateTime.class, 99, new
JavaTimeSerializers.OffsetDateTimeSerializer()));
+ add(GryoTypeReg.of(OffsetTime.class, 100, new
JavaTimeSerializers.OffsetTimeSerializer()));
+ add(GryoTypeReg.of(Period.class, 101, new
JavaTimeSerializers.PeriodSerializer()));
+ add(GryoTypeReg.of(Year.class, 102, new
JavaTimeSerializers.YearSerializer()));
+ add(GryoTypeReg.of(YearMonth.class, 103, new
JavaTimeSerializers.YearMonthSerializer()));
+ add(GryoTypeReg.of(ZonedDateTime.class, 104, new
JavaTimeSerializers.ZonedDateTimeSerializer()));
+ add(GryoTypeReg.of(ZoneOffset.class, 105, new
JavaTimeSerializers.ZoneOffsetSerializer()));
+
+ add(GryoTypeReg.of(Operator.class, 107));
+ add(GryoTypeReg.of(FoldStep.FoldBiOperator.class, 108));
+ add(GryoTypeReg.of(GroupCountStep.GroupCountBiOperator.class,
109));
+ add(GryoTypeReg.of(GroupStep.GroupBiOperator.class, 117, new
JavaSerializer())); // because they contain traversals
+ add(GryoTypeReg.of(MeanGlobalStep.MeanGlobalBiOperator.class,
110));
+ add(GryoTypeReg.of(MeanGlobalStep.MeanNumber.class, 111));
+ add(GryoTypeReg.of(TreeStep.TreeBiOperator.class, 112));
+ add(GryoTypeReg.of(GroupStepV3d0.GroupBiOperatorV3d0.class,
113));
+ add(GryoTypeReg.of(RangeGlobalStep.RangeBiOperator.class,
114));
+ add(GryoTypeReg.of(OrderGlobalStep.OrderBiOperator.class,
118, new JavaSerializer())); // because they contain traversals
+ add(GryoTypeReg.of(ProfileStep.ProfileBiOperator.class, 119));
+ }};
+ }
+ }
+
/**
* A builder to construct a {@link GryoMapper} instance.
*/
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/863fbe87/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/UtilSerializers.java
----------------------------------------------------------------------
diff --cc
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/UtilSerializers.java
index 958978c,958978c..c7095d6
---
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/UtilSerializers.java
+++
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/UtilSerializers.java
@@@ -84,7 -84,7 +84,7 @@@ final class UtilSerializers
public final static class ClassSerializer implements
SerializerShim<Class> {
@Override
public <O extends OutputShim> void write(final KryoShim<?, O> kryo,
final O output, final Class object) {
-- output.writeString(object.getCanonicalName());
++ output.writeString(object.getName());
}
@Override