Skip to content
Snippets Groups Projects
Commit ae314e3a authored by Johannes Eder's avatar Johannes Eder
Browse files

added sensor actuator

parent bdb0e924
No related branches found
No related tags found
No related merge requests found
Showing
with 52 additions and 4 deletions
......@@ -48,6 +48,12 @@
<modelElementClass
modelElementClass="org.fortiss.af3.platform.raspberry.model.CanConnector">
</modelElementClass>
<modelElementClass
modelElementClass="org.fortiss.af3.platform.raspberry.model.SensorConnector">
</modelElementClass>
<modelElementClass
modelElementClass="org.fortiss.af3.platform.raspberry.model.ActuatorConnector">
</modelElementClass>
</editPartFactory>
</extension>
</plugin>
......@@ -20,9 +20,11 @@ package org.fortiss.af3.platform.raspberry.ui.editpart;
import org.eclipse.gef.EditPart;
import org.eclipse.swt.graphics.Color;
import org.fortiss.af3.platform.model.PlatformConnectorUnit;
import org.fortiss.af3.platform.raspberry.model.ActuatorConnector;
import org.fortiss.af3.platform.raspberry.model.CanBus;
import org.fortiss.af3.platform.raspberry.model.CanConnector;
import org.fortiss.af3.platform.raspberry.model.RaspberryPi;
import org.fortiss.af3.platform.raspberry.model.SensorConnector;
import org.fortiss.af3.platform.ui.DefaultStyle;
import org.fortiss.af3.platform.ui.editpart.generic.ExecutionUnitEditPart;
import org.fortiss.af3.platform.ui.editpart.generic.StickyPlatformConnectorUnitEditPart;
......@@ -57,7 +59,8 @@ public class EditPartFactory implements IEditPartFactory {
};
} else if(model instanceof CanBus) {
return new TransmissionUnitDefaultEditPart((CanBus)model);
} else if(model instanceof CanConnector) {
} else if(model instanceof CanConnector || model instanceof SensorConnector ||
model instanceof ActuatorConnector) {
return new StickyPlatformConnectorUnitEditPart((PlatformConnectorUnit)model);
}
return null;
......
......@@ -54,4 +54,5 @@ public class RaspberryPiHandler extends ModelElementHandlerBase<RaspberryPi> {
public List<EObject> getConnectors(RaspberryPi element) {
return (List)element.getConnectors();
}
}
......@@ -24,9 +24,11 @@ import static org.fortiss.tooling.base.utils.LayoutDataUtils.setNodeBounds;
import static org.fortiss.tooling.base.utils.LayoutDataUtils.setNodePosition;
import static org.fortiss.tooling.base.utils.LayoutModelElementFactory.createRectangle;
import org.fortiss.af3.platform.raspberry.model.ActuatorConnector;
import org.fortiss.af3.platform.raspberry.model.CanBus;
import org.fortiss.af3.platform.raspberry.model.CanConnector;
import org.fortiss.af3.platform.raspberry.model.RaspberryPi;
import org.fortiss.af3.platform.raspberry.model.SensorConnector;
import org.fortiss.af3.platform.raspberry.util.RaspberryModelElementFactory;
import org.fortiss.tooling.kernel.extension.base.PrototypeProviderBase;
......@@ -57,5 +59,16 @@ public class ProtoypeProvider extends PrototypeProviderBase {
setNodePosition(con, 0, 0);
setConnectorPosition(con, 0, 0);
registerPrototype("CanConnector", con, CATEGORY_NAME);
SensorConnector sensor = RaspberryModelElementFactory.createSensorConnector();
setNodePosition(sensor, 0, 0);
setConnectorPosition(sensor, 0, 0);
registerPrototype("Sensor", sensor, CATEGORY_NAME);
ActuatorConnector actuator = RaspberryModelElementFactory.createActuatorConnector();
setNodePosition(actuator, 0, 0);
setConnectorPosition(actuator, 0, 0);
registerPrototype("Actuator", actuator, CATEGORY_NAME);
}
}
......@@ -5,4 +5,6 @@
<eClassifiers xsi:type="ecore:EClass" name="RaspberryPi" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//generic/GenericExecutionUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="CanBus" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//generic/GenericTransmissionUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="CanConnector" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//generic/GenericTransceiver"/>
<eClassifiers xsi:type="ecore:EClass" name="SensorConnector" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//generic/GenericReceiver"/>
<eClassifiers xsi:type="ecore:EClass" name="ActuatorConnector" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//generic/GenericTransmitter"/>
</ecore:EPackage>
......@@ -10,5 +10,7 @@
<genClasses ecoreClass="raspberry.ecore#//RaspberryPi"/>
<genClasses ecoreClass="raspberry.ecore#//CanBus"/>
<genClasses ecoreClass="raspberry.ecore#//CanConnector"/>
<genClasses ecoreClass="raspberry.ecore#//SensorConnector"/>
<genClasses ecoreClass="raspberry.ecore#//ActuatorConnector"/>
</genPackages>
</genmodel:GenModel>
......@@ -22,8 +22,10 @@ import static org.conqat.lib.commons.reflect.ReflectionUtils.isInstanceOfAny;
import org.eclipse.emf.ecore.EObject;
import org.fortiss.af3.platform.compose.PlatformArchitectureElementCompositorBase;
import org.fortiss.af3.platform.model.IPlatformArchitectureElement;
import org.fortiss.af3.platform.raspberry.model.ActuatorConnector;
import org.fortiss.af3.platform.raspberry.model.CanConnector;
import org.fortiss.af3.platform.raspberry.model.RaspberryPi;
import org.fortiss.af3.platform.raspberry.model.SensorConnector;
/**
*
......@@ -39,11 +41,12 @@ public class RaspberryPiCompositor extends
@Override
protected boolean isCorrectElementClass(IPlatformArchitectureElement container,
EObject contained) {
final boolean instanceOfAny2 = isInstanceOfAny(contained, CanConnector.class);
final boolean instanceOfAny2 =
isInstanceOfAny(contained, CanConnector.class, SensorConnector.class,
ActuatorConnector.class);
if(container != null) {
final boolean instanceOfAny = isInstanceOfAny(container, RaspberryPi.class);
return instanceOfAny &&
instanceOfAny2;
return instanceOfAny && instanceOfAny2;
}
return instanceOfAny2;
}
......
......@@ -19,10 +19,12 @@ package org.fortiss.af3.platform.raspberry.util;
import static org.fortiss.tooling.base.utils.LayoutModelElementFactory.createConnectorLayout;
import org.fortiss.af3.platform.raspberry.model.ActuatorConnector;
import org.fortiss.af3.platform.raspberry.model.CanBus;
import org.fortiss.af3.platform.raspberry.model.CanConnector;
import org.fortiss.af3.platform.raspberry.model.ModelFactory;
import org.fortiss.af3.platform.raspberry.model.RaspberryPi;
import org.fortiss.af3.platform.raspberry.model.SensorConnector;
import org.fortiss.tooling.base.utils.LayoutModelElementFactory;
/**
......@@ -58,4 +60,20 @@ public class RaspberryModelElementFactory {
createConnectorLayout(canConnector);
return canConnector;
}
/** Creates a {@link SensorConnector}. */
public static SensorConnector createSensorConnector() {
SensorConnector connector = ModelFactory.eINSTANCE.createSensorConnector();
connector.setName("Sensor");
createConnectorLayout(connector);
return connector;
}
/** Creates a {@link ActuatorConnector}. */
public static ActuatorConnector createActuatorConnector() {
ActuatorConnector connector = ModelFactory.eINSTANCE.createActuatorConnector();
connector.setName("Sensor");
createConnectorLayout(connector);
return connector;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment