+ broker.subscribe(TOPIC2, event -> {
+ Tuple2 data = (Tuple2) event.getProperty(IEventBroker.DATA);
+ Resource resource = (Resource) data.c0;
+ Color colorr = (Color) data.c1;
+ IElement element = DiagramNodeUtil.findElement(ctx, resource);
+ final G2DParentNode node = element.getHint(DistrictNetworkEdgeElement.KEY_DN_EDGE_NODE);
+ if (node != null) {
+ // color is a bit special - if not present then reset with null value
+ ((DistrictNetworkEdgeNode) node).setEventColor(colorr);
+ node.repaint();
+ } else {
+ final G2DParentNode vertexNode = element.getHint(DistrictNetworkVertexElement.KEY_DN_VERTEX_NODE);
+ ((DistrictNetworkVertexNode) vertexNode).setEventColor(colorr);
+ vertexNode.repaint();
+ }
+ });