in timescaledb-connector/src/integration-test/java/com/epam/deltix/timebase/connector/service/timescale/TimescaleMigrationServiceTest.java [727:843]
private ObjectArrayList<ClassDescriptorInfo> getDescriptorMessages() {
ObjectArrayList<ClassDescriptorInfo> descriptors = new ObjectArrayList<>();
ObjectArrayList<DataFieldInfo> innerTestFields = new ObjectArrayList<>();
DataField nameField = new NonStaticDataField();
nameField.setDataType(new VarcharDataType());
nameField.setName("name");
DataField valueField = new NonStaticDataField();
valueField.setName("value");
valueField.setDataType(new VarcharDataType());
innerTestFields.addAll(Arrays.asList(valueField, nameField));
RecordClassDescriptor innerTestDescriptor = new RecordClassDescriptor();
innerTestDescriptor.setName("com.epam.deltix.timebase.connector.model.InnerTestClass");
innerTestDescriptor.setIsAbstract(false);
innerTestDescriptor.setTitle("title");
innerTestDescriptor.setParent(null);
innerTestDescriptor.setDataFields(innerTestFields);
EnumClassDescriptor someTestEnumDescriptor = new EnumClassDescriptor();
someTestEnumDescriptor.setName("com.epam.deltix.timebase.connector.model.SomeTestEnum");
someTestEnumDescriptor.setTitle("title");
ObjectArrayList<DataFieldInfo> baseTestClassFields = new ObjectArrayList<>();
DataField stringValueField = new NonStaticDataField();
stringValueField.setName("stringValue");
stringValueField.setDataType(new VarcharDataType());
FloatDataType decimal64DataType = new FloatDataType();
decimal64DataType.setEncoding("DECIMAL64");
DataField decimal64Field = new NonStaticDataField();
decimal64Field.setName("decimal64Value");
decimal64Field.setDataType(decimal64DataType);
DataField byteaField = new NonStaticDataField();
byteaField.setDataType(new BinaryDataType());
byteaField.setName("byteaValue");
baseTestClassFields.addAll(Arrays.asList(stringValueField, decimal64Field, byteaField));
RecordClassDescriptor baseTestClassDescriptor = new RecordClassDescriptor();
baseTestClassDescriptor.setParent(null);
baseTestClassDescriptor.setIsAbstract(true);
baseTestClassDescriptor.setName("com.epam.sdeltix.timebase.connector.model.BaseTestClass");
baseTestClassDescriptor.setTitle("title");
baseTestClassDescriptor.setDataFields(baseTestClassFields);
ObjectArrayList<DataFieldInfo> firstTestClassFields = new ObjectArrayList<>();
DataField charField = new NonStaticDataField();
charField.setName("charValue");
charField.setDataType(new CharDataType());
IntegerDataType integerDataType = new IntegerDataType();
integerDataType.setEncoding("INT32");
DataField intField = new NonStaticDataField();
intField.setDataType(integerDataType);
intField.setName("intValue");
IntegerDataType longDataType = new IntegerDataType();
DataField longField = new NonStaticDataField();
longField.setDataType(longDataType);
longField.setName("longValue");
ClassDataType classDataType = new ClassDataType();
ObjectArrayList<ClassDescriptorRefInfo> descriptorRefs = new ObjectArrayList<>();
ClassDescriptorRef descriptorRef = new ClassDescriptorRef();
descriptorRef.setName("com.epam.deltix.timebase.connector.model.InnerTestClass");
descriptorRefs.add(descriptorRef);
classDataType.setTypeDescriptors(descriptorRefs);
DataField classField = new NonStaticDataField();
classField.setName("innerState");
charField.setDataType(classDataType);
firstTestClassFields.addAll(Arrays.asList(charField, intField, longField, classField));
RecordClassDescriptor firstTestClassDescriptor = new RecordClassDescriptor();
firstTestClassDescriptor.setParent(baseTestClassDescriptor);
firstTestClassDescriptor.setIsAbstract(false);
firstTestClassDescriptor.setName("com.epam.deltix.timebase.connector.model.FirstTestClass");
firstTestClassDescriptor.setDataFields(firstTestClassFields);
ObjectArrayList<DataFieldInfo> secondTestClassFields = new ObjectArrayList<>();
DataField secondValue1Field = new NonStaticDataField();
secondValue1Field.setName("secondValue1");
secondValue1Field.setDataType(new VarcharDataType());
DataField secondLongValueField = new NonStaticDataField();
secondLongValueField.setDataType(longDataType);
secondLongValueField.setName("secondLongValue");
EnumDataType enumDataType = new EnumDataType();
ClassDescriptorRef enumDescriptorRef = new ClassDescriptorRef();
enumDescriptorRef.setName("com.epam.deltix.timebase.connector.model.SomeTestEnum");
enumDataType.setTypeDescriptor(enumDescriptorRef);
DataField enumField = new NonStaticDataField();
enumField.setName("enumValue");
enumField.setDataType(enumDataType);
secondTestClassFields.addAll(Arrays.asList(enumField, secondLongValueField, secondValue1Field));
RecordClassDescriptor secondRecordClassDescriptor = new RecordClassDescriptor();
secondRecordClassDescriptor.setName("com.epam.deltix.timebase.connector.model.SecondTestClass");
secondRecordClassDescriptor.setIsAbstract(false);
secondRecordClassDescriptor.setParent(baseTestClassDescriptor);
secondRecordClassDescriptor.setDataFields(secondTestClassFields);
descriptors.addAll(Arrays.asList(baseTestClassDescriptor, secondRecordClassDescriptor, firstTestClassDescriptor,
someTestEnumDescriptor, innerTestDescriptor));
return descriptors;
}