package edu.kit.ipd.sdq.kamp4aps.core.scenarios;

import java.util.Collection;

import edu.kit.ipd.sdq.kamp4aps.core.APSArchitectureModelLookup;
import edu.kit.ipd.sdq.kamp4aps.core.APSArchitectureVersion;
import edu.kit.ipd.sdq.kamp4aps.core.changepropagation.Change;
import edu.kit.ipd.sdq.kamp4aps.model.KAMP4aPSModificationmarks.ChangePropagationDueToHardwareChange;
import edu.kit.ipd.sdq.kamp4aps.model.aPS.ComponentRepository.RegularRamp;
public class RampChange extends Change {

	private Collection<RegularRamp> initialMarkedRamps;
	
	public RampChange(APSArchitectureVersion v) {
		super(v);
		initialMarkedRamps = APSArchitectureModelLookup.lookUpMarkedObjectsOfAType(version, RegularRamp.class);
	}

	public void addInitialMarkedRampsToList(
			ChangePropagationDueToHardwareChange changePropagationDueToHardwareChange) {
		for(RegularRamp ramp : initialMarkedRamps){
			
		}
	}
}

@@ -62,26 +62,79 @@
 va.util.
-Collection
+ArrayList;%0D%0Aimport java.util.Collection;%0D%0Aimport java.util.List
 ;%0D%0A%0D%0Aimp
@@ -467,44 +467,301 @@
 del.
-aPS.ComponentRepository.RegularRamp;
+KAMP4aPSModificationmarks.KAMP4aPSModificationmarksFactory;%0D%0Aimport edu.kit.ipd.sdq.kamp4aps.model.aPS.ComponentRepository.RegularRamp;%0D%0Aimport edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Interface;%0D%0Aimport edu.kit.ipd.sdq.kamp4aps.model.KAMP4aPSModificationmarks.ModifyComponent;%0D%0A
 %0D%0Apu
@@ -1033,16 +1033,138 @@
 %0D%0A%09%7D%0D%0A%0D%0A
+%09// hier werden erstmal alle vom nutzer markierten rampen herausgesucht%0D%0A%09// und entsprechend als modifikation angelegt.%0D%0A
 %09public 
@@ -1333,17 +1333,981 @@
 %0A%09%09%09
-%0D%0A%09%09%7D%0D%0A%09%7D
+ModifyComponent%3CRegularRamp%3E modifyRamp = KAMP4aPSModificationmarksFactory.eINSTANCE.createModifyComponent();%0D%0A%09%09%09modifyRamp.setAffectedElement(ramp);%0D%0A%09%09%09modifyRamp.setToolderived(true);%0D%0A%09%09%09modifyRamp.setId(%22Modify %22 + ramp.getId());%0D%0A%09%09%7D%0D%0A%09%7D%0D%0A%09%0D%0A%09// hol alle schnittstellen die mit ner rampe verbunden sind%0D%0A%09// und fge sie der liste der beeinflussten schnittstellen hinzu%0D%0A%09public List%3CInterface%3E calculateAffectedInterfacesByRampChange()%7B%0D%0A%09%09List%3CInterface%3E affectedInterfaces = new ArrayList%3CInterface%3E();%0D%0A%09%09for(RegularRamp ramp : initialMarkedRamps)%7B%0D%0A%09%09%09for(Interface i : ramp.getConnectedInterfaces())%7B%0D%0A%09%09%09%09affectedInterfaces.add(i);%0D%0A%09%09%09%7D%0D%0A%09%09%7D%0D%0A%09%09return affectedInterfaces;%0D%0A%09%7D%0D%0A%09%0D%0A%09//TODO: was ist denn noch so von einer rampe beeinflusst?%0D%0A%09// na neben der rampe auch noch das ding woran die rampe festgemacht ist%0D%0A%09// in unserem fall kann das nur ein FRAME objekt sein.%0D%0A%09// das wars dann auch schon. sehr ernchternd!!! :(%0D%0A%09// gut fr mich, weniger zu tun :D
 %0D%0A%7D%0D

extend rampchange, add todos