Skip to content

Commit 6806991

Browse files
author
kmetin
committed
add getCompactClass and getTypeName methods
1 parent 049a4a3 commit 6806991

14 files changed

+137
-4
lines changed

base/commands/serializer/java.go

+10-4
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"text/template"
1010

1111
"github.com/hazelcast/hazelcast-commandline-client/internal/check"
12+
"github.com/hazelcast/hazelcast-go-client/types"
1213
)
1314

1415
const (
@@ -18,6 +19,9 @@ const (
1819
float64Type = "float64"
1920
)
2021

22+
// UUIDGenFunc is a variable, because we are overriding its behaviour to return a constant UUID during the tests.
23+
var UUIDGenFunc = types.NewUUID
24+
2125
var indent4 = strings.Repeat(" ", 4)
2226
var indent8 = strings.Repeat(" ", 8)
2327
var indent12 = strings.Repeat(" ", 12)
@@ -75,8 +79,9 @@ type codeTemplate struct {
7579
}
7680

7781
type classSchema struct {
78-
Class Class
79-
Schema Schema
82+
Class Class
83+
Schema Schema
84+
TypeName string
8085
}
8186

8287
func GenerateClass(cls Class, sch Schema, w io.Writer) error {
@@ -103,8 +108,9 @@ func GenerateClass(cls Class, sch Schema, w io.Writer) error {
103108
tmpl = template.Must(tmpl, err)
104109
}
105110
err = tmpl.Execute(w, classSchema{
106-
Class: cls,
107-
Schema: sch,
111+
Class: cls,
112+
Schema: sch,
113+
TypeName: UUIDGenFunc().String(),
108114
})
109115
return err
110116
}

base/commands/serializer/java_templates.go

+10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ const javaCompactSerializerTemplate = `public static final class Serializer impl
2424
public void write(@Nonnull CompactWriter writer, @Nonnull {{ .Class.Name }} object) {
2525
{{range $field := .Class.Fields}} writer.write{{methodName (toJavaType $field.Type) $field.Type }}("{{ $field.Name }}", object.{{ $field.Name }});
2626
{{end}} }
27+
28+
@Override
29+
public Class<{{ .Class.Name }}> getCompactClass() {
30+
return {{ .Class.Name }}.class;
31+
}
32+
33+
@Override
34+
public String getTypeName() {
35+
return "{{ .TypeName }}";
36+
}
2737
};
2838
2939
public static final CompactSerializer<{{ .Class.Name }}> HZ_COMPACT_SERIALIZER = new Serializer();`

base/commands/serializer/serializer_it_test.go

+7
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
package serializer
44

55
import (
6+
"fmt"
67
"os"
78
"path/filepath"
89
"testing"
910

11+
"github.com/hazelcast/hazelcast-go-client/types"
1012
"github.com/stretchr/testify/assert"
1113
)
1214

@@ -37,6 +39,11 @@ var (
3739
)
3840

3941
func init() {
42+
UUIDGenFunc = func() types.UUID {
43+
return types.NewUUIDWith(10, 10)
44+
}
45+
s := types.NewUUIDWith(10, 10).String()
46+
fmt.Println(s)
4047
generationTestFilesDir := filepath.Join("testdata", "generationTestFiles")
4148
generationTestFilesSchemaDir := filepath.Join("testdata", "generationTestFiles", "schema")
4249

base/commands/serializer/testdata/generationTestFiles/AllTypes.java

+10
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull AllTypes object) {
100100
writer.writeCompact("mcompact", object.mcompact);
101101
writer.writeArrayOfCompact("mcompactArray", object.mcompactArray);
102102
}
103+
104+
@Override
105+
public Class<AllTypes> getCompactClass() {
106+
return AllTypes.class;
107+
}
108+
109+
@Override
110+
public String getTypeName() {
111+
return "00000000-0000-000a-0000-00000000000a";
112+
}
103113
};
104114

105115
public static final CompactSerializer<AllTypes> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/Classroom.java

+10
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull Classroom object) {
2626
writer.writeInt32("id", object.id);
2727
writer.writeArrayOfCompact("students", object.students);
2828
}
29+
30+
@Override
31+
public Class<Classroom> getCompactClass() {
32+
return Classroom.class;
33+
}
34+
35+
@Override
36+
public String getTypeName() {
37+
return "00000000-0000-000a-0000-00000000000a";
38+
}
2939
};
3040

3141
public static final CompactSerializer<Classroom> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/Example1.java

+10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull Example1 object) {
2424
writer.writeCompact("example", object.example);
2525
writer.writeArrayOfCompact("examples", object.examples);
2626
}
27+
28+
@Override
29+
public Class<Example1> getCompactClass() {
30+
return Example1.class;
31+
}
32+
33+
@Override
34+
public String getTypeName() {
35+
return "00000000-0000-000a-0000-00000000000a";
36+
}
2737
};
2838

2939
public static final CompactSerializer<Example1> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/Example2.java

+10
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ public Example2 read(@Nonnull CompactReader reader) {
2222
public void write(@Nonnull CompactWriter writer, @Nonnull Example2 object) {
2323
writer.writeInt32("foo", object.foo);
2424
}
25+
26+
@Override
27+
public Class<Example2> getCompactClass() {
28+
return Example2.class;
29+
}
30+
31+
@Override
32+
public String getTypeName() {
33+
return "00000000-0000-000a-0000-00000000000a";
34+
}
2535
};
2636

2737
public static final CompactSerializer<Example2> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/Example3.java

+10
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ public Example3 read(@Nonnull CompactReader reader) {
2222
public void write(@Nonnull CompactWriter writer, @Nonnull Example3 object) {
2323
writer.writeInt64("bar", object.bar);
2424
}
25+
26+
@Override
27+
public Class<Example3> getCompactClass() {
28+
return Example3.class;
29+
}
30+
31+
@Override
32+
public String getTypeName() {
33+
return "00000000-0000-000a-0000-00000000000a";
34+
}
2535
};
2636

2737
public static final CompactSerializer<Example3> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/External.java

+10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull External object) {
2424
writer.writeBoolean("foo", object.foo);
2525
writer.writeCompact("bar", object.bar);
2626
}
27+
28+
@Override
29+
public Class<External> getCompactClass() {
30+
return External.class;
31+
}
32+
33+
@Override
34+
public String getTypeName() {
35+
return "00000000-0000-000a-0000-00000000000a";
36+
}
2737
};
2838

2939
public static final CompactSerializer<External> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/NestedCompact.java

+10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull NestedCompact object)
2424
writer.writeString("foo", object.foo);
2525
writer.writeInt32("bar", object.bar);
2626
}
27+
28+
@Override
29+
public Class<NestedCompact> getCompactClass() {
30+
return NestedCompact.class;
31+
}
32+
33+
@Override
34+
public String getTypeName() {
35+
return "00000000-0000-000a-0000-00000000000a";
36+
}
2737
};
2838

2939
public static final CompactSerializer<NestedCompact> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/NoNamespace.java

+10
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull NoNamespace object) {
2222
writer.writeBoolean("foo", object.foo);
2323
writer.writeCompact("bar", object.bar);
2424
}
25+
26+
@Override
27+
public Class<NoNamespace> getCompactClass() {
28+
return NoNamespace.class;
29+
}
30+
31+
@Override
32+
public String getTypeName() {
33+
return "00000000-0000-000a-0000-00000000000a";
34+
}
2535
};
2636

2737
public static final CompactSerializer<NoNamespace> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/NoNamespaceNested.java

+10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,16 @@ public NoNamespaceNested read(@Nonnull CompactReader reader) {
2020
public void write(@Nonnull CompactWriter writer, @Nonnull NoNamespaceNested object) {
2121
writer.writeBoolean("baz", object.baz);
2222
}
23+
24+
@Override
25+
public Class<NoNamespaceNested> getCompactClass() {
26+
return NoNamespaceNested.class;
27+
}
28+
29+
@Override
30+
public String getTypeName() {
31+
return "00000000-0000-000a-0000-00000000000a";
32+
}
2333
};
2434

2535
public static final CompactSerializer<NoNamespaceNested> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/School.java

+10
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull School object) {
2626
writer.writeInt32("id", object.id);
2727
writer.writeArrayOfCompact("classrooms", object.classrooms);
2828
}
29+
30+
@Override
31+
public Class<School> getCompactClass() {
32+
return School.class;
33+
}
34+
35+
@Override
36+
public String getTypeName() {
37+
return "00000000-0000-000a-0000-00000000000a";
38+
}
2939
};
3040

3141
public static final CompactSerializer<School> HZ_COMPACT_SERIALIZER = new Serializer();

base/commands/serializer/testdata/generationTestFiles/Student.java

+10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ public void write(@Nonnull CompactWriter writer, @Nonnull Student object) {
2424
writer.writeString("name", object.name);
2525
writer.writeInt16("number", object.number);
2626
}
27+
28+
@Override
29+
public Class<Student> getCompactClass() {
30+
return Student.class;
31+
}
32+
33+
@Override
34+
public String getTypeName() {
35+
return "00000000-0000-000a-0000-00000000000a";
36+
}
2737
};
2838

2939
public static final CompactSerializer<Student> HZ_COMPACT_SERIALIZER = new Serializer();

0 commit comments

Comments
 (0)