75303 - backed out change
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java index 82cc917..5a712af 100644 --- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java +++ b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java
@@ -11,7 +11,7 @@ package org.eclipse.jem.internal.adapters.jdom; /* * $RCSfile: JavaClassJDOMAdaptor.java,v $ - * $Revision: 1.10.2.1 $ $Date: 2004/09/29 16:00:13 $ + * $Revision: 1.10.2.2 $ $Date: 2004/09/29 16:31:02 $ */ import java.util.*; @@ -86,20 +86,19 @@ // It is an existing method. So just put over to newExisting. Then flush it. newExisting.put(ifield, field); // Since this is a new method, it is not attached to a resource, so we need to explicitly create the adapter. - adapter = (JavaFieldJDOMAdaptor) EcoreUtil.getExistingAdapter(field, ReadAdaptor.TYPE_KEY); - if (adapter == null) - adapter = (JavaFieldJDOMAdaptor) getAdapterFactory().adaptNew(field, ReadAdaptor.TYPE_KEY); - else + adapter = (JavaFieldJDOMAdaptor) getAdapterFactory().adaptNew(field, ReadAdaptor.TYPE_KEY); + if (adapter != null) { adapter.flushReflectedValuesIfNecessaryNoNotification(true); - adapter.setSourceField(ifield); // Give it this new IField + adapter.setSourceField(ifield); // Give it this new IField + } } else { // It is a new method. Create the new method, add to newExisting, and add to newMethods list. field = createJavaField(ifield, resource); newExisting.put(ifield, field); newFields.add(field); - adapter = (JavaFieldJDOMAdaptor) getAdapterFactory().adaptNew(field, ReadAdaptor.TYPE_KEY); + adapter = (JavaFieldJDOMAdaptor) retrieveAdaptorFrom(field); if (adapter != null) - adapter.setSourceField(ifield); + adapter.setSourceField(fields[i]); } }