Fixed Issue with TypeReference and Custom Pre/Suffixes in EMF #530

Signed-off-by: Christian Dietrich <christian.dietrich@itemis.de>
This commit is contained in:
Christian Dietrich 2017-11-07 19:33:00 +01:00
parent b43934a0ef
commit def098c3a7
2 changed files with 31 additions and 8 deletions

View file

@ -156,13 +156,17 @@ class TypeReference {
new QualifiedClassName('org.eclipse.emf.ecore', clazz.name)
}
} else {
new QualifiedClassName(GenModelUtil2.getGenClass(clazz, resourceSet).genPackage.qualifiedPackageName,
val genClass = GenModelUtil2.getGenClass(clazz, resourceSet)
val packageName = genClass.genPackage.getInterfacePackageName();
new QualifiedClassName(packageName,
GenModelUtil2.getGenClass(clazz, resourceSet).interfaceName)
}
}
private static def QualifiedClassName getQualifiedName(EPackage epackage, ResourceSet resourceSet) {
new QualifiedClassName(GenModelUtil2.getGenPackage(epackage, resourceSet).qualifiedPackageName,
val genPackage = GenModelUtil2.getGenPackage(epackage, resourceSet)
val packageName = if (genPackage.getGenModel().isSuppressEMFMetaData()) genPackage.getQualifiedPackageClassName() else genPackage.getReflectionPackageName()
new QualifiedClassName(packageName,
GenModelUtil2.getGenPackage(epackage, resourceSet).packageInterfaceName)
}

View file

@ -11,6 +11,8 @@ import com.google.common.base.Objects;
import com.google.common.base.Splitter;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.ResourceSet;
@ -264,9 +266,14 @@ public class TypeReference {
}
_xifexpression_1 = _xifexpression_2;
} else {
String _qualifiedPackageName = GenModelUtil2.getGenClass(clazz, resourceSet).getGenPackage().getQualifiedPackageName();
String _interfaceName = GenModelUtil2.getGenClass(clazz, resourceSet).getInterfaceName();
_xifexpression_1 = new TypeReference.QualifiedClassName(_qualifiedPackageName, _interfaceName);
TypeReference.QualifiedClassName _xblockexpression_1 = null;
{
final GenClass genClass = GenModelUtil2.getGenClass(clazz, resourceSet);
final String packageName = genClass.getGenPackage().getInterfacePackageName();
String _interfaceName = GenModelUtil2.getGenClass(clazz, resourceSet).getInterfaceName();
_xblockexpression_1 = new TypeReference.QualifiedClassName(packageName, _interfaceName);
}
_xifexpression_1 = _xblockexpression_1;
}
_xifexpression = _xifexpression_1;
}
@ -274,9 +281,21 @@ public class TypeReference {
}
private static TypeReference.QualifiedClassName getQualifiedName(final EPackage epackage, final ResourceSet resourceSet) {
String _qualifiedPackageName = GenModelUtil2.getGenPackage(epackage, resourceSet).getQualifiedPackageName();
String _packageInterfaceName = GenModelUtil2.getGenPackage(epackage, resourceSet).getPackageInterfaceName();
return new TypeReference.QualifiedClassName(_qualifiedPackageName, _packageInterfaceName);
TypeReference.QualifiedClassName _xblockexpression = null;
{
final GenPackage genPackage = GenModelUtil2.getGenPackage(epackage, resourceSet);
String _xifexpression = null;
boolean _isSuppressEMFMetaData = genPackage.getGenModel().isSuppressEMFMetaData();
if (_isSuppressEMFMetaData) {
_xifexpression = genPackage.getQualifiedPackageClassName();
} else {
_xifexpression = genPackage.getReflectionPackageName();
}
final String packageName = _xifexpression;
String _packageInterfaceName = GenModelUtil2.getGenPackage(epackage, resourceSet).getPackageInterfaceName();
_xblockexpression = new TypeReference.QualifiedClassName(packageName, _packageInterfaceName);
}
return _xblockexpression;
}
@Override