<commit_before>package edu.kit.ipd.sdq.kamp4aps.core.derivation;

import edu.kit.ipd.sdq.kamp4aps.core.ArchitectureVersion;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.eclipse.emf.ecore.EObject;

import edu.kit.ipd.sdq.kamp.workplan.AbstractEnrichedWorkplanDerivation;
import edu.kit.ipd.sdq.kamp.workplan.Activity;
import edu.kit.ipd.sdq.kamp.workplan.BasicActivity;
import edu.kit.ipd.sdq.kamp4aps.core.ActivityElementType;
import edu.kit.ipd.sdq.kamp4aps.core.ActivityType;
import edu.kit.ipd.sdq.kamp4aps.core.ArchitectureAnnotationLookup;
import fieldofactivityannotations.ComponentDrawing;
import fieldofactivityannotations.ComponentStockList;
import fieldofactivityannotations.DocumentationFiles;
import fieldofactivityannotations.InterfaceDrawing;
import fieldofactivityannotations.InterfaceStockList;
import fieldofactivityannotations.ModuleDrawing;
import fieldofactivityannotations.ModuleStockList;
import fieldofactivityannotations.Role;
import fieldofactivityannotations.StructureDrawing;
import fieldofactivityannotations.StructureStockList;
import edu.kit.ipd.sdq.kamp4iec.model.IECModel.Program;
import edu.kit.ipd.sdq.kamp4iec.model.IECModel.GlobalVariable;
import xPPU.Plant;
import xPPU.ComponentRepository.Component;
import xPPU.InterfaceRepository.Interface;
import xPPU.ModuleRepository.Module;
import xPPU.StructureRepository.Structure;

public class EnrichedWorkplanDerivation implements AbstractEnrichedWorkplanDerivation<ArchitectureVersion> {
	@Override
	public List<Activity> deriveEnrichedWorkplan(ArchitectureVersion baseArchitectureVersion,
			ArchitectureVersion subVersion, List<Activity> baseActivityList) {
		List<Activity> result = new ArrayList<Activity>(baseActivityList);

		deriveCADDrawingActivities(baseArchitectureVersion, subVersion, result);
		deriveDocumentationActivities(baseArchitectureVersion, subVersion, result);
		derivePurchaseActivities(baseArchitectureVersion, subVersion, result);
		deriveHMIActivities(baseArchitectureVersion, subVersion, result);
		deriveCalibrationActivities(baseArchitectureVersion, subVersion, result);
		deriveTestExecutionActivities(baseArchitectureVersion, subVersion, result);
		
		deriveSoftwareChangeActivities(baseArchitectureVersion, subVersion, result);<commit_msg>JavaDoc for EnrichedWorkplanDerivation<commit_after>package edu.kit.ipd.sdq.kamp4aps.core.derivation;

import edu.kit.ipd.sdq.kamp4aps.core.ArchitectureVersion;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.eclipse.emf.ecore.EObject;

import edu.kit.ipd.sdq.kamp.workplan.AbstractEnrichedWorkplanDerivation;
import edu.kit.ipd.sdq.kamp.workplan.Activity;
import edu.kit.ipd.sdq.kamp.workplan.BasicActivity;
import edu.kit.ipd.sdq.kamp4aps.core.ActivityElementType;
import edu.kit.ipd.sdq.kamp4aps.core.ActivityType;
import edu.kit.ipd.sdq.kamp4aps.core.ArchitectureAnnotationLookup;
import fieldofactivityannotations.ComponentDrawing;
import fieldofactivityannotations.ComponentStockList;
import fieldofactivityannotations.DocumentationFiles;
import fieldofactivityannotations.InterfaceDrawing;
import fieldofactivityannotations.InterfaceStockList;
import fieldofactivityannotations.ModuleDrawing;
import fieldofactivityannotations.ModuleStockList;
import fieldofactivityannotations.Role;
import fieldofactivityannotations.StructureDrawing;
import fieldofactivityannotations.StructureStockList;
import edu.kit.ipd.sdq.kamp4iec.model.IECModel.Program;
import edu.kit.ipd.sdq.kamp4iec.model.IECModel.GlobalVariable;
import xPPU.Plant;
import xPPU.ComponentRepository.Component;
import xPPU.InterfaceRepository.Interface;
import xPPU.ModuleRepository.Module;
import xPPU.StructureRepository.Structure;

/**
 * 
 * This class uses the look up methods of \texttt{ArchitectureAnnotationLookup}
 * to add the activities based on the non-structural changes to the workplan.
 * 
 * @author <NAME>
 * @see ArchitectureAnnotationLookup
 */

public class EnrichedWorkplanDerivation implements AbstractEnrichedWorkplanDerivation<ArchitectureVersion> {
	@Override
	public List<Activity> deriveEnrichedWorkplan(ArchitectureVersion baseArchitectureVersion,
			ArchitectureVersion subVersion, List<Activity> baseActivityList) {
		List<Activity> result = new ArrayList<Activity>(baseActivityList);

		deriveCADDrawingActivities(baseArchitectureVersion, subVersion, result);
		deriveDocumentationActivities(baseArchitectureVersion, subVersion, result);
		derivePurchaseActivities(baseArchitectureVersion, subVersion, result);
		deriveHMIActivities(baseArchitectureVersion, subVersion, result);
		deriveCalibrationActivities(baseArchitectureVersion, subVersion, result);
		deriveTestExecutionActivities(baseArchitectureVersion, subVersion, result);
		
		deriveSoftwareChangeActivities(baseArchitectureVersion, subVersion, result);
{'fraction_non_alphanumeric': 0.07844739530132788, 'fraction_numerical': 0.0028600612870275793, 'mean_word_length': 8.851106639839035, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '23229', 'n_tokens_mistral': 1471, 'n_tokens_neox': 1417, 'n_words': 224}