Commit c731016c authored by Müller, Marco's avatar Müller, Marco
Browse files

Adds protocols to test elements and more process components

parent bf68a6a2
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -68,14 +68,13 @@
      <import plugin="org.eclipse.emf.ecore.xmi" version="2.11.1" match="greaterOrEqual"/>
      <import plugin="org.eclipse.gmf.runtime.notation" version="1.8.0" match="greaterOrEqual"/>
      <import plugin="com.google.guava"/>
      <import plugin="mechanisms"/>
      <import plugin="org.codeling.lang.cocome.metamodel" version="1.0.0" match="greaterOrEqual"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.ui.ide" version="3.9.1" match="greaterOrEqual"/>
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.ui.editors"/>
      <import plugin="de.tub.tfs.muvitor" version="1.0.0" match="greaterOrEqual"/>
      <import plugin="mechanisms" version="1.0.0" match="greaterOrEqual"/>
      <import plugin="org.codeling.mechanisms" version="1.0.0" match="greaterOrEqual"/>
      <import plugin="org.eclipse.uml2.uml" version="5.3.0" match="greaterOrEqual"/>
      <import plugin="org.codeling.lang.jee.metamodel" version="1.0.0" match="greaterOrEqual"/>
      <import plugin="org.eclipse.osgi" version="3.12.0" match="greaterOrEqual"/>
+6 −3
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="34">
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="34">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.platform.ide" version="4.5.2.M20160212-1500"/>
@@ -32,6 +31,10 @@
<unit id="org.modelversioning.emfprofile.feature.feature.group" version="1.0.0.201612051406"/>
<repository location="http://www.s3.uni-due.de/pub/p2/codeling/"/>
</location>
	<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
		<unit id="org.eclipse.xwt.feature.feature.group" version="1.3.1.I20171018-2059"/>
		<repository location="http://download.eclipse.org/releases/oxygen"/>
	</location>
</locations>
<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
</target>
 No newline at end of file
+24 −25
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="44">
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="org.codeling.target" sequenceNumber="44">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="2.13.0.v20170609-0928"/>
<unit id="org.eclipse.equinox.sdk.feature.group" version="3.13.1.v20170928-1405"/>
<unit id="org.eclipse.gmf.feature.group" version="1.11.0.201706061437"/>
<unit id="org.eclipse.m2e.feature.feature.group" version="1.8.2.20171007-0217"/>
<unit id="org.eclipse.m2e.wtp.feature.feature.group" version="1.3.3.20170823-1905"/>
<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="3.1.0.201709130748"/>
<unit id="org.eclipse.pde.feature.group" version="3.13.1.v20171009-0537"/>
<unit id="org.eclipse.egit.feature.group"/>
<unit id="org.eclipse.emf.sdk.feature.group"/>
<unit id="org.eclipse.equinox.sdk.feature.group"/>
<unit id="org.eclipse.gmf.feature.group"/>
<unit id="org.eclipse.m2e.feature.feature.group"/>
<unit id="org.eclipse.m2e.wtp.feature.feature.group"/>
<unit id="org.eclipse.papyrus.sdk.feature.feature.group"/>
<unit id="org.eclipse.pde.feature.group"/>
<repository location="http://download.eclipse.org/releases/oxygen"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="de.tub.tfs.henshin.editor.feature.feature.group" version="1.0.0"/>
<unit id="de.tub.tfs.henshin.tgg.feature.feature.group" version="1.0.0"/>
<unit id="de.tub.tfs.muvitor.feature.feature.group" version="1.0.0"/>
<unit id="org.modelversioning.emfprofile.feature.feature.group" version="1.0.0.201612051406"/>
<repository location="http://www.s3.uni-due.de/pub/p2/codeling/"/>
<unit id="de.tub.tfs.henshin.editor.feature.feature.group"/>
<unit id="de.tub.tfs.henshin.tgg.feature.feature.group"/>
<unit id="de.tub.tfs.muvitor.feature.feature.group"/>
<unit id="org.modelversioning.emfprofile.feature.feature.group"/>
<repository location="https://codeling.de/dependencies/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.palladiosimulator.editors.gmf.feature.feature.group" version="4.0.0.201511051149"/>
<unit id="org.palladiosimulator.pcm.feature.feature.group" version="4.0.0.201511051136"/>
<unit id="org.palladiosimulator.editors.gmf.feature.feature.group"/>
<unit id="org.palladiosimulator.pcm.feature.feature.group"/>
<repository location="https://sdqweb.ipd.kit.edu/eclipse/palladiosimulator/releases/1.0.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.emf.henshin.sdk.feature.group" version="1.4.0.201611301400"/>
<unit id="org.eclipse.emf.henshin.sdk.feature.group"/>
<repository location="http://download.eclipse.org/modeling/emft/henshin/updates/1.4.0"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.antlr.runtime" version="4.3.0.v201502022030"/>
<unit id="org.apache.batik.css" version="1.7.0.v201011041433"/>
<unit id="org.apache.batik.util" version="1.7.0.v201011041433"/>
<unit id="org.apache.batik.util.gui" version="1.7.0.v200903091627"/>
<unit id="org.apache.commons.io" version="2.2.0.v201405211200"/>
<unit id="org.antlr.runtime"/>
<unit id="org.apache.batik.css"/>
<unit id="org.apache.batik.util"/>
<unit id="org.apache.batik.util.gui"/>
<unit id="org.apache.commons.io"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20170919201930/repository"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.xtend.sdk.feature.group" version="2.13.0.v20171013-1050"/>
<unit id="org.eclipse.xtend.sdk.feature.group"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/"/>
</location>
</locations>
+47 −0
Original line number Diff line number Diff line
package org.codeling.lang.base.java;

import java.util.LinkedHashMap;

import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IPackageFragmentRoot;

/**
 * A cache for speeding up element searches in JDT.
 */
public class ASTCache {

	private static ASTCache instance;

	public static ASTCache instance() {
		if (instance == null)
			instance = new ASTCache();
		return instance;
	}

	private int requests = 0;
	private int hits = 0;

	private ASTCache() {
	}

	public float getHitRatio() {
		if (requests == 0)
			return 0f;
		return (float)hits / (float)requests;
	}

	LinkedHashMap<IJavaElement, IPackageFragmentRoot> packageFragmentRoots = new LinkedHashMap<>();

	public IPackageFragmentRoot getPackageFragmentRoot(IJavaElement element) {
		requests++; 
		IPackageFragmentRoot result = packageFragmentRoots.get(element);
		if(result != null)
			hits++;
		return result;
	}

	public void addPackageFragmentRoot(IJavaElement element, IPackageFragmentRoot fragmentRoot) {
		packageFragmentRoots.put(element, fragmentRoot);
	}

}
+14 −5
Original line number Diff line number Diff line
@@ -831,7 +831,16 @@ public class ASTUtils {
			return (IPackageFragmentRoot) element;
		if (element.getParent() == null)
			throw new IllegalArgumentException("Element has no package fragment root. " + element.getPath().toString());
		return getPackageFragmentRoot(element.getParent());
		
		ASTCache cache = ASTCache.instance();
		IPackageFragmentRoot cached = cache.getPackageFragmentRoot(element);
		if (cached != null)
			return cached;
		
		IPackageFragmentRoot result = getPackageFragmentRoot(element.getParent());
		if (cache != null)
			cache.addPackageFragmentRoot(element, result);
		return result;
	}

	public static List<IPackageFragment> getDirectChildPackageFragmentsOf(IPackageFragment parent)
Loading