Skip to content
Snippets Groups Projects
Commit b5f16f72 authored by Nelson Tavares de Sousa's avatar Nelson Tavares de Sousa
Browse files

migrated from klay to elk

parent 63d810f9
No related branches found
No related tags found
No related merge requests found
......@@ -9,10 +9,10 @@ Require-Bundle: javax.inject,
com.google.guava,
com.google.inject,
org.eclipse.xtext.xbase.lib,
de.cau.cs.kieler.core.krendering,
de.cau.cs.kieler.core.krendering.extensions,
de.cau.cs.kieler.kiml,
de.cau.cs.kieler.klay.layered,
org.eclipse.elk.core,
org.eclipse.elk.graph,
org.eclipse.elk.alg.layered,
de.cau.cs.kieler.klighd.krendering.extensions,
de.cau.cs.kieler.klighd,
de.cau.cs.kieler.klighd.ui,
de.cau.cs.kieler.klighd.piccolo,
......
package teetime.configuration.dsl.klighd
import de.cau.cs.kieler.core.kgraph.KEdge
import de.cau.cs.kieler.core.kgraph.KNode
import de.cau.cs.kieler.core.krendering.LineStyle
import de.cau.cs.kieler.core.krendering.extensions.KColorExtensions
import de.cau.cs.kieler.core.krendering.extensions.KContainerRenderingExtensions
import de.cau.cs.kieler.core.krendering.extensions.KEdgeExtensions
import de.cau.cs.kieler.core.krendering.extensions.KNodeExtensions
import de.cau.cs.kieler.core.krendering.extensions.KPolylineExtensions
import de.cau.cs.kieler.core.krendering.extensions.KPortExtensions
import de.cau.cs.kieler.core.krendering.extensions.KRenderingExtensions
import de.cau.cs.kieler.kiml.options.Direction
import de.cau.cs.kieler.kiml.options.LayoutOptions
import de.cau.cs.kieler.klay.layered.p4nodes.bk.CompactionStrategy
import de.cau.cs.kieler.klay.layered.properties.Properties
import de.cau.cs.kieler.klighd.SynthesisOption
import de.cau.cs.kieler.klighd.krendering.LineStyle
import de.cau.cs.kieler.klighd.krendering.extensions.KColorExtensions
import de.cau.cs.kieler.klighd.krendering.extensions.KContainerRenderingExtensions
import de.cau.cs.kieler.klighd.krendering.extensions.KEdgeExtensions
import de.cau.cs.kieler.klighd.krendering.extensions.KNodeExtensions
import de.cau.cs.kieler.klighd.krendering.extensions.KPolylineExtensions
import de.cau.cs.kieler.klighd.krendering.extensions.KPortExtensions
import de.cau.cs.kieler.klighd.krendering.extensions.KRenderingExtensions
import de.cau.cs.kieler.klighd.syntheses.AbstractDiagramSynthesis
import de.cau.cs.kieler.klighd.util.KlighdProperties
import java.util.List
import javax.inject.Inject
import org.eclipse.elk.core.options.Direction
import org.eclipse.elk.core.options.PortConstraints
import org.eclipse.elk.core.options.PortSide
import org.eclipse.elk.graph.KEdge
import org.eclipse.elk.graph.KNode
import teetime.configuration.dsl.config.Configuration
import teetime.configuration.dsl.config.Connection
import teetime.configuration.dsl.config.Stage
import teetime.configuration.dsl.util.ConfigExtensions
import teetime.configuration.dsl.util.Pipe
import de.cau.cs.kieler.kiml.options.PortConstraints
import de.cau.cs.kieler.kiml.options.PortSide
import org.eclipse.elk.alg.layered.properties.LayeredOptions
import org.eclipse.elk.alg.layered.p4nodes.bk.EdgeStraighteningStrategy
class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Configuration> {
......@@ -75,8 +74,8 @@ class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Configurati
}
]
root.setLayoutOption(LayoutOptions::DIRECTION, Direction::RIGHT)
root.addLayoutParam(Properties::COMPACTION_STRATEGY, CompactionStrategy::IMPROVE_STRAIGHTNESS)
root.setLayoutOption(LayeredOptions.DIRECTION, Direction::RIGHT)
root.addLayoutParam(LayeredOptions.NODE_PLACEMENT_BK_EDGE_STRAIGHTENING, EdgeStraighteningStrategy::IMPROVE_STRAIGHTNESS)
return root;
}
......@@ -100,7 +99,7 @@ class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Configurati
it.background = "#FFEE58".color
}
]
node.setLayoutOption(LayoutOptions::PORT_CONSTRAINTS, PortConstraints::FIXED_SIDE)
node.setLayoutOption(LayeredOptions.PORT_CONSTRAINTS, PortConstraints::FIXED_SIDE)
node.setMinimalNodeSize(100, 50)
val outgoingPipes = stage.getOutputPorts(pipes)
node.outgoingEdges.addAll(outgoingPipes.map[transformPipe(node, model)])
......@@ -109,8 +108,8 @@ class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Configurati
private def KNode createThreadNode(KNode root) {
val node = createNode
if (SHOW_THREADS.booleanValue) {
node.setLayoutOption(LayoutOptions::DIRECTION, Direction::RIGHT)
node.addLayoutParam(Properties::COMPACTION_STRATEGY, CompactionStrategy::IMPROVE_STRAIGHTNESS)
node.setLayoutOption(LayeredOptions.DIRECTION, Direction::RIGHT)
node.addLayoutParam(LayeredOptions.NODE_PLACEMENT_BK_EDGE_STRAIGHTENING, EdgeStraighteningStrategy::IMPROVE_STRAIGHTNESS)
node.addRectangle() => [
background = "lightgray".color
]
......@@ -123,7 +122,7 @@ class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Configurati
val edge = pipe.createEdge.associateWith(pipe)
val sourceNodePort = createPort => [
sourceNode.ports += it
setLayoutOption(LayoutOptions::PORT_SIDE, PortSide::EAST)
setLayoutOption(LayeredOptions.PORT_SIDE, PortSide::EAST)
]
edge.sourcePort = sourceNodePort
if (pipe.isInterThread && SHOW_THREADS.booleanValue) {
......@@ -161,7 +160,7 @@ class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Configurati
val targetStage = transformStage(pipe.targetStage, model)
val targetPort = createPort => [
targetStage.ports += it
setLayoutOption(LayoutOptions::PORT_SIDE, PortSide::WEST)
setLayoutOption(LayeredOptions.PORT_SIDE, PortSide::WEST)
]
edge.target = targetStage
edge.targetPort = targetPort
......
......@@ -2,29 +2,20 @@ package teetime.configuration.dsl.klighd;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
import de.cau.cs.kieler.core.kgraph.KEdge;
import de.cau.cs.kieler.core.kgraph.KNode;
import de.cau.cs.kieler.core.kgraph.KPort;
import de.cau.cs.kieler.core.krendering.KColor;
import de.cau.cs.kieler.core.krendering.KPolyline;
import de.cau.cs.kieler.core.krendering.KRectangle;
import de.cau.cs.kieler.core.krendering.KRoundedRectangle;
import de.cau.cs.kieler.core.krendering.KText;
import de.cau.cs.kieler.core.krendering.LineStyle;
import de.cau.cs.kieler.core.krendering.extensions.KColorExtensions;
import de.cau.cs.kieler.core.krendering.extensions.KContainerRenderingExtensions;
import de.cau.cs.kieler.core.krendering.extensions.KEdgeExtensions;
import de.cau.cs.kieler.core.krendering.extensions.KNodeExtensions;
import de.cau.cs.kieler.core.krendering.extensions.KPolylineExtensions;
import de.cau.cs.kieler.core.krendering.extensions.KPortExtensions;
import de.cau.cs.kieler.core.krendering.extensions.KRenderingExtensions;
import de.cau.cs.kieler.kiml.options.Direction;
import de.cau.cs.kieler.kiml.options.LayoutOptions;
import de.cau.cs.kieler.kiml.options.PortConstraints;
import de.cau.cs.kieler.kiml.options.PortSide;
import de.cau.cs.kieler.klay.layered.p4nodes.bk.CompactionStrategy;
import de.cau.cs.kieler.klay.layered.properties.Properties;
import de.cau.cs.kieler.klighd.SynthesisOption;
import de.cau.cs.kieler.klighd.krendering.KColor;
import de.cau.cs.kieler.klighd.krendering.KPolyline;
import de.cau.cs.kieler.klighd.krendering.KRectangle;
import de.cau.cs.kieler.klighd.krendering.KRoundedRectangle;
import de.cau.cs.kieler.klighd.krendering.KText;
import de.cau.cs.kieler.klighd.krendering.LineStyle;
import de.cau.cs.kieler.klighd.krendering.extensions.KColorExtensions;
import de.cau.cs.kieler.klighd.krendering.extensions.KContainerRenderingExtensions;
import de.cau.cs.kieler.klighd.krendering.extensions.KEdgeExtensions;
import de.cau.cs.kieler.klighd.krendering.extensions.KNodeExtensions;
import de.cau.cs.kieler.klighd.krendering.extensions.KPolylineExtensions;
import de.cau.cs.kieler.klighd.krendering.extensions.KPortExtensions;
import de.cau.cs.kieler.klighd.krendering.extensions.KRenderingExtensions;
import de.cau.cs.kieler.klighd.syntheses.AbstractDiagramSynthesis;
import de.cau.cs.kieler.klighd.util.KlighdProperties;
import java.util.ArrayList;
......@@ -33,6 +24,14 @@ import java.util.HashSet;
import java.util.List;
import java.util.function.Consumer;
import javax.inject.Inject;
import org.eclipse.elk.alg.layered.p4nodes.bk.EdgeStraighteningStrategy;
import org.eclipse.elk.alg.layered.properties.LayeredOptions;
import org.eclipse.elk.core.options.Direction;
import org.eclipse.elk.core.options.PortConstraints;
import org.eclipse.elk.core.options.PortSide;
import org.eclipse.elk.graph.KEdge;
import org.eclipse.elk.graph.KNode;
import org.eclipse.elk.graph.KPort;
import org.eclipse.emf.common.util.EList;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Extension;
......@@ -140,8 +139,8 @@ public class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Conf
}
};
stages.forEach(_function);
this.<KNode, Direction>setLayoutOption(root, LayoutOptions.DIRECTION, Direction.RIGHT);
this._kNodeExtensions.<CompactionStrategy>addLayoutParam(root, Properties.COMPACTION_STRATEGY, CompactionStrategy.IMPROVE_STRAIGHTNESS);
this.<KNode, Direction>setLayoutOption(root, LayeredOptions.DIRECTION, Direction.RIGHT);
this._kNodeExtensions.<EdgeStraighteningStrategy>addLayoutParam(root, LayeredOptions.NODE_PLACEMENT_BK_EDGE_STRAIGHTENING, EdgeStraighteningStrategy.IMPROVE_STRAIGHTNESS);
return root;
}
......@@ -231,7 +230,7 @@ public class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Conf
}
};
ObjectExtensions.<KRoundedRectangle>operator_doubleArrow(_addRoundedRectangle, _function);
this.<KNode, PortConstraints>setLayoutOption(node, LayoutOptions.PORT_CONSTRAINTS, PortConstraints.FIXED_SIDE);
this.<KNode, PortConstraints>setLayoutOption(node, LayeredOptions.PORT_CONSTRAINTS, PortConstraints.FIXED_SIDE);
this._kNodeExtensions.setMinimalNodeSize(node, 100, 50);
final List<Pipe> outgoingPipes = this._configExtensions.getOutputPorts(stage, this.pipes);
EList<KEdge> _outgoingEdges = node.getOutgoingEdges();
......@@ -248,8 +247,8 @@ public class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Conf
final KNode node = this._kNodeExtensions.createNode();
boolean _booleanValue = this.getBooleanValue(ConfigurationDiagramSynthesis.SHOW_THREADS);
if (_booleanValue) {
this.<KNode, Direction>setLayoutOption(node, LayoutOptions.DIRECTION, Direction.RIGHT);
this._kNodeExtensions.<CompactionStrategy>addLayoutParam(node, Properties.COMPACTION_STRATEGY, CompactionStrategy.IMPROVE_STRAIGHTNESS);
this.<KNode, Direction>setLayoutOption(node, LayeredOptions.DIRECTION, Direction.RIGHT);
this._kNodeExtensions.<EdgeStraighteningStrategy>addLayoutParam(node, LayeredOptions.NODE_PLACEMENT_BK_EDGE_STRAIGHTENING, EdgeStraighteningStrategy.IMPROVE_STRAIGHTNESS);
KRectangle _addRectangle = this._kRenderingExtensions.addRectangle(node);
final Procedure1<KRectangle> _function = (KRectangle it) -> {
KColor _color = this._kColorExtensions.getColor("lightgray");
......@@ -271,7 +270,7 @@ public class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Conf
final Procedure1<KPort> _function = (KPort it) -> {
EList<KPort> _ports = sourceNode.getPorts();
_ports.add(it);
this.<KPort, PortSide>setLayoutOption(it, LayoutOptions.PORT_SIDE, PortSide.EAST);
this.<KPort, PortSide>setLayoutOption(it, LayeredOptions.PORT_SIDE, PortSide.EAST);
};
final KPort sourceNodePort = ObjectExtensions.<KPort>operator_doubleArrow(_createPort, _function);
edge.setSourcePort(sourceNodePort);
......@@ -336,7 +335,7 @@ public class ConfigurationDiagramSynthesis extends AbstractDiagramSynthesis<Conf
final Procedure1<KPort> _function_5 = (KPort it) -> {
EList<KPort> _ports = targetStage.getPorts();
_ports.add(it);
this.<KPort, PortSide>setLayoutOption(it, LayoutOptions.PORT_SIDE, PortSide.WEST);
this.<KPort, PortSide>setLayoutOption(it, LayeredOptions.PORT_SIDE, PortSide.WEST);
};
final KPort targetPort = ObjectExtensions.<KPort>operator_doubleArrow(_createPort_3, _function_5);
edge.setTarget(targetStage);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment