Fixed feature proxy in migration.

Change-Id: I7e9466e01160ccf18262770d2a2a16700bbc8a83
diff --git a/plugins/org.eclipse.acceleo.aql.migration/src/org/eclipse/acceleo/aql/migration/converters/ExpressionConverter.java b/plugins/org.eclipse.acceleo.aql.migration/src/org/eclipse/acceleo/aql/migration/converters/ExpressionConverter.java
index 5989314..355a74e 100644
--- a/plugins/org.eclipse.acceleo.aql.migration/src/org/eclipse/acceleo/aql/migration/converters/ExpressionConverter.java
+++ b/plugins/org.eclipse.acceleo.aql.migration/src/org/eclipse/acceleo/aql/migration/converters/ExpressionConverter.java
@@ -37,10 +37,12 @@
 import org.eclipse.acceleo.query.ast.VarRef;

 import org.eclipse.acceleo.query.ast.VariableDeclaration;

 import org.eclipse.acceleo.query.parser.AstBuilderListener;

+import org.eclipse.emf.common.util.URI;

 import org.eclipse.emf.ecore.EClass;

 import org.eclipse.emf.ecore.EClassifier;

 import org.eclipse.emf.ecore.EObject;

 import org.eclipse.emf.ecore.EOperation;

+import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;

 import org.eclipse.ocl.ecore.BooleanLiteralExp;

 import org.eclipse.ocl.ecore.CollectionItem;

 import org.eclipse.ocl.ecore.CollectionLiteralExp;

@@ -233,7 +235,13 @@
 		}

 		output.getArguments().add((Expression)convert(input.getSource()));

 		StringLiteral propertyName = AstFactory.eINSTANCE.createStringLiteral();

-		propertyName.setValue(input.getReferredProperty().getName());

+		if (!input.getReferredProperty().eIsProxy()) {

+			propertyName.setValue(input.getReferredProperty().getName());

+		} else {

+			final URI proxyURI = ((EStructuralFeatureImpl)input.getReferredProperty()).eProxyURI();

+			final String[] segments = proxyURI.fragment().split("/");

+			propertyName.setValue(segments[segments.length - 1]);

+		}

 		output.getArguments().add(propertyName);

 		return output;

 	}