in tooling/rib-intellij-plugin/native/intellij-broadcast-rib/src/main/java/com/uber/debug/broadcast/rib/RibHierarchyDebugBroadcastHandler.java [124:154]
public void onNext(RibRouterEvent ribRouterEvent) {
Router childRouter = ribRouterEvent.getRouter();
Router parentRouter = ribRouterEvent.getParentRouter();
if (parentRouter == null) {
return;
}
UUID childId = createRouterIdIfNeeded(childRouter);
UUID parentId = createRouterIdIfNeeded(parentRouter);
try {
switch (ribRouterEvent.getEventType()) {
case ATTACHED:
addChild(parentId, childId);
break;
case DETACHED:
removeChild(parentId, childId);
break;
default:
throw new UnsupportedOperationException(
"Unknown command: " + ribRouterEvent.getEventType());
}
} catch (IllegalArgumentException e) {
String message =
String.format(
Locale.US,
"Error processing RibEvent %s: parent=%s child=%s",
ribRouterEvent.getEventType().toString(),
parentRouter.getClass().getSimpleName(),
childRouter.getClass().getSimpleName());
Log.w(TAG, message);
}
}