WIP: ports, links
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package org.springframework.ide.vscode.commons.sprotty.scan;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@@ -8,6 +9,7 @@ import org.eclipse.sprotty.ActionMessage;
|
||||
import org.eclipse.sprotty.DefaultDiagramServer;
|
||||
import org.eclipse.sprotty.IDiagramServer;
|
||||
import org.eclipse.sprotty.ILayoutEngine;
|
||||
import org.eclipse.sprotty.IPopupModelFactory;
|
||||
import org.eclipse.sprotty.RequestModelAction;
|
||||
import org.eclipse.sprotty.SGraph;
|
||||
import org.slf4j.Logger;
|
||||
@@ -40,6 +42,9 @@ public class DefaultDiagramServerManager implements DiagramServerManager {
|
||||
@Autowired
|
||||
private ILayoutEngine layoutEngine;
|
||||
|
||||
@Autowired
|
||||
private Optional<IPopupModelFactory> popups;
|
||||
|
||||
private Consumer<ActionMessage> remoteEndpoint;
|
||||
|
||||
private IDiagramServer getDiagramServer(String clientId) {
|
||||
@@ -48,6 +53,7 @@ public class DefaultDiagramServerManager implements DiagramServerManager {
|
||||
DefaultDiagramServer diagramServer = new DefaultDiagramServer(clientId);
|
||||
diagramServer.setRemoteEndpoint(this::sendMessageToRemoteEndpoint);
|
||||
diagramServer.setLayoutEngine(layoutEngine);
|
||||
diagramServer.setPopupModelFactory(popups.orElse(null));
|
||||
return diagramServer;
|
||||
});
|
||||
} catch (ExecutionException e) {
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package org.springframework.ide.vscode.commons.sprotty.scan;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import org.eclipse.elk.alg.layered.options.LayeredMetaDataProvider;
|
||||
import org.eclipse.sprotty.ILayoutEngine;
|
||||
import org.eclipse.sprotty.SGraph;
|
||||
import org.eclipse.sprotty.layout.ElkLayoutEngine;
|
||||
import org.eclipse.sprotty.layout.SprottyLayoutConfigurator;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@@ -10,9 +14,10 @@ import org.springframework.context.annotation.Configuration;
|
||||
public class DiagramServerConfiguration {
|
||||
|
||||
@Bean
|
||||
public ILayoutEngine layoutEngine() {
|
||||
public ILayoutEngine layoutEngine(Optional<SprottyLayoutConfigurator> configurator) {
|
||||
ElkLayoutEngine.initialize(new LayeredMetaDataProvider());
|
||||
return new ElkLayoutEngine();
|
||||
final ElkLayoutEngine engine = new ElkLayoutEngine();
|
||||
return (root) -> engine.layout((SGraph)root, configurator.orElse(null));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user