Commit 7c7c6d67 authored by Simon Barner's avatar Simon Barner

Merge branch '4059' into 'master'

Project: Fix Internal References for Imported Projects

See merge request !369
parents fee1eb05 38b840f2
...@@ -3,7 +3,7 @@ FileUtils.java 70e81c85ae7c2d8076e190ebad7eae648451b645 GREEN ...@@ -3,7 +3,7 @@ FileUtils.java 70e81c85ae7c2d8076e190ebad7eae648451b645 GREEN
FunctionScopeUtils.java 054c92406affa0c0ad8ac7a067de9608d0bbca2b GREEN FunctionScopeUtils.java 054c92406affa0c0ad8ac7a067de9608d0bbca2b GREEN
LibraryModelElementFactory.java a5a30a0e6b274d220c397d9bf0f14756d49bd19f GREEN LibraryModelElementFactory.java a5a30a0e6b274d220c397d9bf0f14756d49bd19f GREEN
ProjectModelElementFactory.java 2963d3a1fe651025bae3ae4dc0b6e0b77bbaadd5 GREEN ProjectModelElementFactory.java 2963d3a1fe651025bae3ae4dc0b6e0b77bbaadd5 GREEN
ProjectUtils.java 3452992b488694431110a2e6f6183661accd6695 GREEN ProjectUtils.java f1465eb779a321f3bf895dd5a6983fdfd9e0fa70 GREEN
TestCaseProjectUtils.java 83dc50f1fc28c7f1d9dcde9e4e0d02480656b7aa GREEN TestCaseProjectUtils.java 83dc50f1fc28c7f1d9dcde9e4e0d02480656b7aa GREEN
TypeScopeUtils.java 54f2397f0d6720c90948ccc295f1a63b7319daac GREEN TypeScopeUtils.java 54f2397f0d6720c90948ccc295f1a63b7319daac GREEN
VariableScopeUtils.java 031591687c2461a990d0534cf4ed4d6df39b1551 GREEN VariableScopeUtils.java 031591687c2461a990d0534cf4ed4d6df39b1551 GREEN
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
+--------------------------------------------------------------------------*/ +--------------------------------------------------------------------------*/
package org.fortiss.af3.project.utils; package org.fortiss.af3.project.utils;
import static org.conqat.lib.commons.filesystem.FileSystemUtils.copyFile;
import static org.conqat.lib.commons.reflect.ReflectionUtils.pickInstanceOf; import static org.conqat.lib.commons.reflect.ReflectionUtils.pickInstanceOf;
import static org.eclipse.core.resources.ResourcesPlugin.getWorkspace; import static org.eclipse.core.resources.ResourcesPlugin.getWorkspace;
import static org.fortiss.af3.project.AF3Project.AF3_PRJ_SUFFIX; import static org.fortiss.af3.project.AF3Project.AF3_PRJ_SUFFIX;
...@@ -264,7 +265,11 @@ public final class ProjectUtils { ...@@ -264,7 +265,11 @@ public final class ProjectUtils {
doCopyExternalDocuments(sourceFileProject, sourceFileURI, targetFileURI); doCopyExternalDocuments(sourceFileProject, sourceFileURI, targetFileURI);
// Perform the copy to the actual target (workspace) for the kernel to perform the import. // Perform the copy to the actual target (workspace) for the kernel to perform the import.
saveProject(sourceFileProject, targetFileURI); // We need to copy the file instead of creating a new resource from the FileProject since
// few internal references would point to the original file (NOTE: This can only be observed
// with few entities and only with large projects). This indicates a problem in EMF's href
// resolution algorithm.
copyFile(new File(sourceFileURI.toFileString()), new File(targetFileURI.toFileString()));
// Using the Java-API is not directly possible, as we would need to load the file before, // Using the Java-API is not directly possible, as we would need to load the file before,
// which could destroy some element references. Using listeners we can avoid the problem by // which could destroy some element references. Using listeners we can avoid the problem by
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment