+ LOGGER.error("Could not listen SizingObjectsOptions", t);
+ }
+
+ @Override
+ public boolean isDisposed() {
+ return isDisposed.get();
+ }
+ }
+
+ private static class ShowElevationServerRequest extends UnaryRead<Resource, Boolean> {
+
+ public ShowElevationServerRequest(Resource diagram) {
+ super(diagram);
+ }
+
+ @Override
+ public Boolean perform(ReadGraph graph) throws DatabaseException {
+ DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
+ Resource model = graph.syncRequest(new PossibleIndexRoot(parameter));
+ if (model != null) {
+ Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model);
+ if (vf != null) {
+ Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation);
+ if (activeVisualisation != null) {
+ return DynamicVisualisations.showElevationServerBoundingBox(graph, activeVisualisation);
+ }
+ } else {
+ LOGGER.debug("No visualisation folder available for model {}", model);
+ }
+ }
+ return false;
+ }
+ }
+
+ private static class ShowElevationServerListener implements Listener<Boolean> {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(ShowElevationServerListener.class);
+
+ private Consumer<Boolean> callback;
+ private Supplier<Boolean> isDisposed;
+
+ public ShowElevationServerListener(Consumer<Boolean> callback, Supplier<Boolean> isDisposed) {
+ this.callback = callback;
+ this.isDisposed = isDisposed;
+ }
+
+ @Override
+ public void execute(Boolean result) {
+ callback.accept(result);
+ }
+
+ @Override
+ public void exception(Throwable t) {
+ LOGGER.error("Could not listen Show Elevation Server", t);