From 048a644ab74332fc253c37b4682f3b9388e278c4 Mon Sep 17 00:00:00 2001 From: Mayank Chaudhary <chaudhary@fortiss.org> Date: Wed, 9 Mar 2016 15:15:20 +0000 Subject: [PATCH] PrototypeProvider added refs 2507 --- .../binding/CoreStructureEditorBinding.java | 46 ++++++ .../RaspberryPi1StructureEditorBinding.java | 47 ++++++ .../RaspberryPi2StructureEditorBinding.java | 47 ++++++ .../RaspberryPi3StructureEditorBinding.java | 47 ++++++ .../ui/prototypes/PrototypeProvider.java | 147 ++++++++++++++++++ .../utils/RaspberryModelElementFactory.java | 86 ++++++++++ 6 files changed, 420 insertions(+) create mode 100644 org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/CoreStructureEditorBinding.java create mode 100644 org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi1StructureEditorBinding.java create mode 100644 org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi2StructureEditorBinding.java create mode 100644 org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi3StructureEditorBinding.java create mode 100644 org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototypes/PrototypeProvider.java diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/CoreStructureEditorBinding.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/CoreStructureEditorBinding.java new file mode 100644 index 00000000..ba8fe6f9 --- /dev/null +++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/CoreStructureEditorBinding.java @@ -0,0 +1,46 @@ +/*--------------------------------------------------------------------------+ +$Id$ +| | +| Copyright 2016 ForTISS GmbH | +| | +| Licensed under the Apache License, Version 2.0 (the "License"); | +| you may not use this file except in compliance with the License. | +| You may obtain a copy of the License at | +| | +| http://www.apache.org/licenses/LICENSE-2.0 | +| | +| Unless required by applicable law or agreed to in writing, software | +| distributed under the License is distributed on an "AS IS" BASIS, | +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | +| See the License for the specific language governing permissions and | +| limitations under the License. | ++--------------------------------------------------------------------------*/ +package org.fortiss.af3.platform.raspberry.ui.editor.binding; + +import org.eclipse.ui.IEditorPart; +import org.fortiss.af3.platform.raspberry.model.Core; +import org.fortiss.af3.platform.raspberry.ui.editor.CoreStructureEditor; +import org.fortiss.af3.platform.ui.editor.PlatformComponentStructureEditorBindingBase; + +/** + * + * @author chaudhary + * @author $Author$ + * @version $Rev$ + * @ConQAT.Rating RED Hash: + */ +public class CoreStructureEditorBinding extends PlatformComponentStructureEditorBindingBase<Core> { + + /** {@inheritDoc} */ + @Override + public Class<? extends IEditorPart> getEditorClass(Core core) { + return CoreStructureEditor.class; + } + + /** {@inheritDoc} */ + @Override + public String getLabel(Core core) { + return "Core Structure"; + } + +} diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi1StructureEditorBinding.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi1StructureEditorBinding.java new file mode 100644 index 00000000..485768eb --- /dev/null +++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi1StructureEditorBinding.java @@ -0,0 +1,47 @@ +/*--------------------------------------------------------------------------+ +$Id$ +| | +| Copyright 2016 ForTISS GmbH | +| | +| Licensed under the Apache License, Version 2.0 (the "License"); | +| you may not use this file except in compliance with the License. | +| You may obtain a copy of the License at | +| | +| http://www.apache.org/licenses/LICENSE-2.0 | +| | +| Unless required by applicable law or agreed to in writing, software | +| distributed under the License is distributed on an "AS IS" BASIS, | +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | +| See the License for the specific language governing permissions and | +| limitations under the License. | ++--------------------------------------------------------------------------*/ +package org.fortiss.af3.platform.raspberry.ui.editor.binding; + +import org.eclipse.ui.IEditorPart; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi1; +import org.fortiss.af3.platform.raspberry.ui.editor.RaspberryPi1StructureEditor; +import org.fortiss.af3.platform.ui.editor.PlatformComponentStructureEditorBindingBase; + +/** + * + * @author chaudhary + * @author $Author$ + * @version $Rev$ + * @ConQAT.Rating RED Hash: + */ +public class RaspberryPi1StructureEditorBinding extends + PlatformComponentStructureEditorBindingBase<RaspberryPi1> { + + /** {@inheritDoc} */ + @Override + public Class<? extends IEditorPart> getEditorClass(RaspberryPi1 raspberryPi1) { + return RaspberryPi1StructureEditor.class; + } + + /** {@inheritDoc} */ + @Override + public String getLabel(RaspberryPi1 raspberryPi1) { + return "RPi1 Structure"; + } + +} diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi2StructureEditorBinding.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi2StructureEditorBinding.java new file mode 100644 index 00000000..30214847 --- /dev/null +++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi2StructureEditorBinding.java @@ -0,0 +1,47 @@ +/*--------------------------------------------------------------------------+ +$Id$ +| | +| Copyright 2016 ForTISS GmbH | +| | +| Licensed under the Apache License, Version 2.0 (the "License"); | +| you may not use this file except in compliance with the License. | +| You may obtain a copy of the License at | +| | +| http://www.apache.org/licenses/LICENSE-2.0 | +| | +| Unless required by applicable law or agreed to in writing, software | +| distributed under the License is distributed on an "AS IS" BASIS, | +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | +| See the License for the specific language governing permissions and | +| limitations under the License. | ++--------------------------------------------------------------------------*/ +package org.fortiss.af3.platform.raspberry.ui.editor.binding; + +import org.eclipse.ui.IEditorPart; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi2; +import org.fortiss.af3.platform.raspberry.ui.editor.RaspberryPi2StructureEditor; +import org.fortiss.af3.platform.ui.editor.PlatformComponentStructureEditorBindingBase; + +/** + * + * @author chaudhary + * @author $Author$ + * @version $Rev$ + * @ConQAT.Rating RED Hash: + */ +public class RaspberryPi2StructureEditorBinding extends + PlatformComponentStructureEditorBindingBase<RaspberryPi2> { + + /** {@inheritDoc} */ + @Override + public Class<? extends IEditorPart> getEditorClass(RaspberryPi2 raspberryPi2) { + return RaspberryPi2StructureEditor.class; + } + + /** {@inheritDoc} */ + @Override + public String getLabel(RaspberryPi2 raspberryPi2) { + return "RPi2 Structure"; + } + +} diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi3StructureEditorBinding.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi3StructureEditorBinding.java new file mode 100644 index 00000000..f2b2b97d --- /dev/null +++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editor/binding/RaspberryPi3StructureEditorBinding.java @@ -0,0 +1,47 @@ +/*--------------------------------------------------------------------------+ +$Id$ +| | +| Copyright 2016 ForTISS GmbH | +| | +| Licensed under the Apache License, Version 2.0 (the "License"); | +| you may not use this file except in compliance with the License. | +| You may obtain a copy of the License at | +| | +| http://www.apache.org/licenses/LICENSE-2.0 | +| | +| Unless required by applicable law or agreed to in writing, software | +| distributed under the License is distributed on an "AS IS" BASIS, | +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | +| See the License for the specific language governing permissions and | +| limitations under the License. | ++--------------------------------------------------------------------------*/ +package org.fortiss.af3.platform.raspberry.ui.editor.binding; + +import org.eclipse.ui.IEditorPart; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi3; +import org.fortiss.af3.platform.raspberry.ui.editor.RaspberryPi3StructureEditor; +import org.fortiss.af3.platform.ui.editor.PlatformComponentStructureEditorBindingBase; + +/** + * + * @author chaudhary + * @author $Author$ + * @version $Rev$ + * @ConQAT.Rating RED Hash: + */ +public class RaspberryPi3StructureEditorBinding extends + PlatformComponentStructureEditorBindingBase<RaspberryPi3> { + + /** {@inheritDoc} */ + @Override + public Class<? extends IEditorPart> getEditorClass(RaspberryPi3 raspberryPi3) { + return RaspberryPi3StructureEditor.class; + } + + /** {@inheritDoc} */ + @Override + public String getLabel(RaspberryPi3 raspberryPi3) { + return "RPi3 Structure"; + } + +} diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototypes/PrototypeProvider.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototypes/PrototypeProvider.java new file mode 100644 index 00000000..4f61640f --- /dev/null +++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototypes/PrototypeProvider.java @@ -0,0 +1,147 @@ +/*--------------------------------------------------------------------------+ +$Id$ +| | +| Copyright 2016 ForTISS GmbH | +| | +| Licensed under the Apache License, Version 2.0 (the "License"); | +| you may not use this file except in compliance with the License. | +| You may obtain a copy of the License at | +| | +| http://www.apache.org/licenses/LICENSE-2.0 | +| | +| Unless required by applicable law or agreed to in writing, software | +| distributed under the License is distributed on an "AS IS" BASIS, | +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | +| See the License for the specific language governing permissions and | +| limitations under the License. | ++--------------------------------------------------------------------------*/ +package org.fortiss.af3.platform.raspberry.ui.prototypes; + +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createActuator; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createActuatorOut; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createBus; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createBusMasterInterface; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createBusMasterPort; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createCANBus; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createCANBusMasterInterface; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createCANBusMasterPort; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createCore; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createRaspberryPi1; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createRaspberryPi2; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createRaspberryPi3; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createSensor; +import static org.fortiss.af3.platform.raspberry.utils.RaspberryModelElementFactory.createSensorIn; +import static org.fortiss.tooling.base.ui.utils.LayoutDataUIUtils.setConnectorPosition; +import static org.fortiss.tooling.base.utils.LayoutDataUtils.setNodePosition; + +import org.fortiss.af3.platform.raspberry.model.Actuator; +import org.fortiss.af3.platform.raspberry.model.ActuatorOut; +import org.fortiss.af3.platform.raspberry.model.Bus; +import org.fortiss.af3.platform.raspberry.model.BusMasterInterface; +import org.fortiss.af3.platform.raspberry.model.BusMasterPort; +import org.fortiss.af3.platform.raspberry.model.CANBus; +import org.fortiss.af3.platform.raspberry.model.CANBusMasterInterface; +import org.fortiss.af3.platform.raspberry.model.CANBusMasterPort; +import org.fortiss.af3.platform.raspberry.model.Core; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi1; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi2; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi3; +import org.fortiss.af3.platform.raspberry.model.Sensor; +import org.fortiss.af3.platform.raspberry.model.SensorIn; +import org.fortiss.tooling.kernel.extension.base.PrototypeProviderBase; + +/** + * + * @author chaudhary + * @author $Author$ + * @version $Rev$ + * @ConQAT.Rating RED Hash: + */ +public class PrototypeProvider extends PrototypeProviderBase { + + /** Stores the category to display for these prototypes */ + protected final static String CATEGORY_NAME = "Raspberry Platform"; + + /** {@inheritDoc} */ + @Override + protected void registerPrototypes() { + setupRaspberryPlatform(); + } + + /** + * + */ + private void setupRaspberryPlatform() { + Actuator actuator = createActuator("Actuator"); + setNodePosition(actuator, 0, 0); + setConnectorPosition(actuator, 0, 0); + registerPrototype("Actuator", actuator, CATEGORY_NAME); + + ActuatorOut actuatorOut = createActuatorOut("ActuatorOut"); + setNodePosition(actuatorOut, 0, 0); + setConnectorPosition(actuator, 0, 0); + registerPrototype("ActuatorOut", actuator, CATEGORY_NAME); + + Bus bus = createBus("Bus"); + setNodePosition(bus, 0, 0); + setConnectorPosition(bus, 0, 0); + registerPrototype("Bus", bus, CATEGORY_NAME); + + BusMasterInterface busMasterInterface = createBusMasterInterface("BusMasterInterface"); + setNodePosition(busMasterInterface, 0, 0); + setConnectorPosition(busMasterInterface, 0, 0); + registerPrototype("BusMasterInterface", busMasterInterface, CATEGORY_NAME); + + BusMasterPort busMasterPort = createBusMasterPort("BusMasterPort"); + setNodePosition(busMasterPort, 0, 0); + setConnectorPosition(busMasterPort, 0, 0); + registerPrototype("BusMasterPort", busMasterPort, CATEGORY_NAME); + + CANBus canBus = createCANBus("CANBus"); + setNodePosition(canBus, 0, 0); + setConnectorPosition(canBus, 0, 0); + registerPrototype("CANBus", canBus, CATEGORY_NAME); + + CANBusMasterInterface canBusMasterInterface = + createCANBusMasterInterface("CANBusMasterInterface"); + setNodePosition(canBusMasterInterface, 0, 0); + setConnectorPosition(canBusMasterInterface, 0, 0); + registerPrototype("CANBusMasterInterface", canBusMasterInterface, CATEGORY_NAME); + + CANBusMasterPort canBusMasterPort = createCANBusMasterPort("CANBusMasterPort"); + setNodePosition(canBusMasterPort, 0, 0); + setConnectorPosition(canBusMasterPort, 0, 0); + registerPrototype("CANBusMasterPort", canBusMasterPort, CATEGORY_NAME); + + Core core = createCore("Core"); + setNodePosition(core, 0, 0); + setConnectorPosition(core, 0, 0); + registerPrototype("Core", core, CATEGORY_NAME); + + RaspberryPi1 raspberryPi1 = createRaspberryPi1("RaspberryPi1"); + setNodePosition(raspberryPi1, 0, 0); + setConnectorPosition(raspberryPi1, 0, 0); + registerPrototype("RaspberryPi1", raspberryPi1, CATEGORY_NAME); + + RaspberryPi2 raspberryPi2 = createRaspberryPi2("RaspberryPi2"); + setNodePosition(raspberryPi2, 0, 0); + setConnectorPosition(raspberryPi2, 0, 0); + registerPrototype("RaspberryPi2", raspberryPi2, CATEGORY_NAME); + + RaspberryPi3 raspberryPi3 = createRaspberryPi3("RaspberryPi3"); + setNodePosition(raspberryPi3, 0, 0); + setConnectorPosition(raspberryPi3, 0, 0); + registerPrototype("RaspberryPi3", raspberryPi3, CATEGORY_NAME); + + Sensor sensor = createSensor("Sensor"); + setNodePosition(sensor, 0, 0); + setConnectorPosition(sensor, 0, 0); + registerPrototype("Sensor", sensor, CATEGORY_NAME); + + SensorIn sensorIn = createSensorIn("SensorIn"); + setNodePosition(sensorIn, 0, 0); + setConnectorPosition(sensorIn, 0, 0); + registerPrototype("SensorIn", sensorIn, CATEGORY_NAME); + } + +} diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/utils/RaspberryModelElementFactory.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/utils/RaspberryModelElementFactory.java index 51ec9f23..71c1ff08 100644 --- a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/utils/RaspberryModelElementFactory.java +++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/utils/RaspberryModelElementFactory.java @@ -17,11 +17,21 @@ $Id$ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.utils; +import org.fortiss.af3.platform.raspberry.model.Actuator; +import org.fortiss.af3.platform.raspberry.model.ActuatorOut; +import org.fortiss.af3.platform.raspberry.model.Bus; import org.fortiss.af3.platform.raspberry.model.BusMasterInterface; import org.fortiss.af3.platform.raspberry.model.BusMasterPort; +import org.fortiss.af3.platform.raspberry.model.CANBus; import org.fortiss.af3.platform.raspberry.model.CANBusMasterInterface; import org.fortiss.af3.platform.raspberry.model.CANBusMasterPort; +import org.fortiss.af3.platform.raspberry.model.Core; import org.fortiss.af3.platform.raspberry.model.ModelFactory; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi1; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi2; +import org.fortiss.af3.platform.raspberry.model.RaspberryPi3; +import org.fortiss.af3.platform.raspberry.model.Sensor; +import org.fortiss.af3.platform.raspberry.model.SensorIn; import org.fortiss.tooling.base.utils.LayoutModelElementFactory; /** @@ -62,4 +72,80 @@ public class RaspberryModelElementFactory { return busMasterInterface; } + /** Creates a Hardware Board. */ + public static RaspberryPi1 createRaspberryPi1(String name) { + RaspberryPi1 raspberryPi1 = ModelFactory.eINSTANCE.createRaspberryPi1(); + raspberryPi1.setName(name); + LayoutModelElementFactory.createNodeElementLayout(raspberryPi1); + return raspberryPi1; + } + + /** Creates a Hardware Board. */ + public static RaspberryPi2 createRaspberryPi2(String name) { + RaspberryPi2 raspberryPi2 = ModelFactory.eINSTANCE.createRaspberryPi2(); + raspberryPi2.setName(name); + LayoutModelElementFactory.createNodeElementLayout(raspberryPi2); + return raspberryPi2; + } + + /** Creates a Hardware Board. */ + public static RaspberryPi3 createRaspberryPi3(String name) { + RaspberryPi3 raspberryPi3 = ModelFactory.eINSTANCE.createRaspberryPi3(); + raspberryPi3.setName(name); + LayoutModelElementFactory.createNodeElementLayout(raspberryPi3); + return raspberryPi3; + } + + /** Creates a Core with a given name. */ + public static Core createCore(String name) { + Core core = ModelFactory.eINSTANCE.createCore(); + core.setName(name); + LayoutModelElementFactory.createNodeElementLayout(core); + return core; + } + + /** Creates a Bus with a given name. */ + public static Bus createBus(String name) { + Bus bus = ModelFactory.eINSTANCE.createBus(); + bus.setName(name); + LayoutModelElementFactory.createConnectionLayout(bus); + return bus; + } + + /** Creates a Bus with a given name. */ + public static CANBus createCANBus(String name) { + CANBus canBus = ModelFactory.eINSTANCE.createCANBus(); + canBus.setName(name); + LayoutModelElementFactory.createConnectionLayout(canBus); + return canBus; + } + + public static Sensor createSensor(String name) { + Sensor sensor = ModelFactory.eINSTANCE.createSensor(); + sensor.setName(name); + LayoutModelElementFactory.createNodeElementLayout(sensor); + return sensor; + } + + public static SensorIn createSensorIn(String name) { + SensorIn sensorIn = ModelFactory.eINSTANCE.createSensorIn(); + sensorIn.setName(name); + LayoutModelElementFactory.createNodeElementLayout(sensorIn); + return sensorIn; + } + + public static Actuator createActuator(String name) { + Actuator actuator = ModelFactory.eINSTANCE.createActuator(); + actuator.setName(name); + LayoutModelElementFactory.createNodeElementLayout(actuator); + return actuator; + } + + public static ActuatorOut createActuatorOut(String name) { + ActuatorOut actuatorOut = ModelFactory.eINSTANCE.createActuatorOut(); + actuatorOut.setName(name); + LayoutModelElementFactory.createNodeElementLayout(actuatorOut); + return actuatorOut; + } + } -- GitLab