blob: 7773fd3fc4584f6b992e6bceb7f0d93d9e52e584 [file] [log] [blame]
<%if (!UML2GenModelUtil.getSubsetGenFeatures(genClass, genFeature, false, false).isEmpty() || !UML2GenModelUtil.getSupersetGenFeatures(genClass, genFeature, false, true).isEmpty()) {%>
<%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%>.Internal eInternalResource = eInternalResource();
if (eInternalResource == null || !eInternalResource.isLoading()) {
<%for (Iterator subsetGenFeatures = UML2GenModelUtil.getSubsetGenFeatures(genClass, genFeature, false, false).iterator(); subsetGenFeatures.hasNext(); ) { GenFeature subsetGenFeature = (GenFeature) subsetGenFeatures.next();%>
<%if (subsetGenFeature.isContainer()) {%>
<%=subsetGenFeature.getImportedType()%> <%=subsetGenFeature.getSafeName()%> = <%=subsetGenFeature.isBasicGet() ? "basicGet" + subsetGenFeature.getAccessorName() : subsetGenFeature.getGetAccessor()%>();
<%} else if (genClass.getImplementingGenModel(subsetGenFeature).isVirtualDelegation()) {%>
Object <%=subsetGenFeature.getSafeName()%> = eVirtualGet(<%=genClass.getQualifiedFeatureID(subsetGenFeature)%>);
<%}%>
if (<%=subsetGenFeature.getSafeName()%> != null && <%=subsetGenFeature.getSafeName()%> != new<%=genFeature.getCapName()%>)
{
set<%=subsetGenFeature.getAccessorName()%>(null);
}
<%}%>
<%for (Iterator supersetGenFeatures = UML2GenModelUtil.getSupersetGenFeatures(genClass, genFeature, false, true).iterator(); supersetGenFeatures.hasNext(); ) { GenFeature supersetGenFeature = (GenFeature) supersetGenFeatures.next();%>
if (new<%=genFeature.getCapName()%> != null)
{
<%if (supersetGenFeature.isListType()) {%>
<%=supersetGenFeature.getImportedType()%> <%=supersetGenFeature.getSafeName()%> = <%=supersetGenFeature.getGetAccessor()%>();
if (!<%=supersetGenFeature.getSafeName()%>.contains(new<%=genFeature.getCapName()%>))
{
<%=supersetGenFeature.getSafeName()%>.add(new<%=genFeature.getCapName()%>);
}
<%} else {%>
<%if (supersetGenFeature.isContainer()) {%>
<%=supersetGenFeature.getImportedType()%> <%=supersetGenFeature.getSafeName()%> = <%=supersetGenFeature.isBasicGet() ? "basicGet" + supersetGenFeature.getAccessorName() : supersetGenFeature.getGetAccessor()%>();
<%} else if (genClass.getImplementingGenModel(supersetGenFeature).isVirtualDelegation()) {%>
Object <%=supersetGenFeature.getSafeName()%> = eVirtualGet(<%=genClass.getQualifiedFeatureID(supersetGenFeature)%>);
<%}%>
if (new<%=genFeature.getCapName()%> != <%=supersetGenFeature.getSafeName()%>)
{
set<%=supersetGenFeature.getAccessorName()%>(new<%=genFeature.getCapName()%>);
}
<%}%>
}
<%}%>
}
<%}%>