in timescaledb-connector/src/integration-test/java/com/epam/deltix/timebase/connector/service/timescale/TimescaleMigrationServiceTest.java [137:172]
public void testRenameDescriptorMigration() {
applyTimescaleSchema();
SchemaChangeMessage changeMessage = new SchemaChangeMessage();
SchemaDescriptorChangeAction renameDescriptorAction = new SchemaDescriptorChangeAction();
renameDescriptorAction.setChangeTypes(SchemaDescriptorChangeType.RENAME);
ClassDescriptorInfo previousDescriptor = null;
ObjectArrayList<ClassDescriptorInfo> previousState = getDescriptorMessages();
for (ClassDescriptorInfo d : previousState) {
if (d.getName().equals("com.epam.deltix.timebase.connector.model.SecondTestClass"))
previousDescriptor = d;
}
ClassDescriptorInfo newDescriptor = null;
ObjectArrayList<ClassDescriptorInfo> newState = getDescriptorMessages();
for (ClassDescriptorInfo d : newState) {
if (d.getName().equals("com.epam.deltix.timebase.connector.model.SecondTestClass")) {
((RecordClassDescriptor) d).setName("com.epam.deltix.timebase.connector.model.RenamedSecondTestClass");
newDescriptor = d;
}
}
changeMessage.setNewState(newState);
changeMessage.setPreviousState(previousState);
renameDescriptorAction.setPreviousState(previousDescriptor);
renameDescriptorAction.setNewState(newDescriptor);
ObjectArrayList<SchemaDescriptorChangeActionInfo> actions = new ObjectArrayList<>();
actions.add(renameDescriptorAction);
changeMessage.setDescriptorChangeActions(actions);
migrationService.apply(changeMessage, "events");
}