IBM Support

An Eclipse Modeling Framework (EMF) error occurs when merging template parameters

Troubleshooting


Problem

If a UML model defines a template parameter and its type is not a UML class, then an error might occur when the Java-to-UML transformation merges its output with the model.

Symptom

The merge dialog box displays the following message: "An EMF error occurred while merging resources: java.lang.NullPointerException. See error log for details."

The Error Log view and the .log file in the metadata folder of the workspace contain the following information:

MESSAGE An EMF error occurred while merging resources: java.lang.NullPointerException
See error log for details
!STACK 0
java.lang.NullPointerException
at com.ibm.xtools.comparemerge.emf.delta.deltagenerator.ReferenceCompositeStrategy.collectEOppositeReferenceDelta(Unknown Source)
at com.ibm.xtools.comparemerge.emf.delta.deltagenerator.ReferenceCompositeStrategy.collectContainerReferencedObjectDeltas(Unknown Source)
at com.ibm.xtools.comparemerge.emf.delta.deltagenerator.ReferenceCompositeStrategy.generateComposites(Unknown Source)
at com.ibm.xtools.comparemerge.emf.delta.deltagenerator.DeltaGenerator.generateComposites(Unknown Source)
at com.ibm.xtools.comparemerge.emf.delta.deltagenerator.DeltaGenerator.compare(Unknown Source)
at com.ibm.xtools.comparemerge.emf.controller.EmfMergeManager.generateDeltas(Unknown Source)
at com.ibm.xtools.comparemerge.emf.controller.EmfMergeManager.runDeltaGenerators(Unknown Source)
at com.ibm.xtools.comparemerge.emf.controller.EmfMergeManager.runSession(Unknown Source)
at com.ibm.xtools.comparemerge.emf.controller.EmfMergeManager.run(Unknown Source)
at com.ibm.xtools.comparemerge.msl.controller.MSLMergeManager.access$0(Unknown Source)
at com.ibm.xtools.comparemerge.msl.controller.MSLMergeManager$1.run(Unknown Source)
at org.eclipse.gmf.runtime.emf.core.internal.domain.MSLEditingDomain.runAsWrite(Unknown Source)
at org.eclipse.gmf.runtime.emf.core.internal.domain.MSLEditingDomain.runAsWrite(Unknown Source)
at com.ibm.xtools.comparemerge.msl.controller.MSLMergeManager.runMRunnable(Unknown Source)
at com.ibm.xtools.comparemerge.msl.controller.MSLMergeManager.run(Unknown Source)
at com.ibm.xtools.transform.java.uml.internal.merge.JavaUMLMergeManager.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(Unknown Source)
at org.eclipse.jface.operation.ModalContext.run(Unknown Source)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(Unknown Source)
at com.ibm.xtools.comparemerge.emf.fuse.FuseController.openSession(Unknown Source)
at com.ibm.xtools.comparemerge.emf.fuse.FuseViewer.setInput(Unknown Source)
at com.ibm.xtools.comparemerge.emf.fuse.FuseDialog.createDialogArea(Unknown Source)
at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(Unknown Source)
at org.eclipse.jface.window.Window.create(Unknown Source)
at org.eclipse.jface.dialogs.Dialog.create(Unknown Source)
at org.eclipse.jface.window.Window.open(Unknown Source)
at com.ibm.xtools.comparemerge.emf.fuse.FuseFacade.startVisualFuseDialog(Unknown Source)
at com.ibm.xtools.transform.fuse.FuseTransformUtility$2$1$1.run(Unknown Source)
at com.ibm.xtools.transform.core.internal.engine.TransformRunHelper$3.run(Unknown Source)
at org.eclipse.gmf.runtime.emf.core.internal.domain.MSLEditingDomain.runAsWrite(Unknown Source)
at org.eclipse.gmf.runtime.emf.core.internal.domain.MSLEditingDomain.runAsWrite(Unknown Source)
at org.eclipse.gmf.runtime.emf.core.util.OperationUtil.runAsWrite(Unknown Source)
at com.ibm.xtools.transform.core.internal.engine.TransformRunHelper.runInWriteAction(Unknown Source)
at com.ibm.xtools.transform.fuse.FuseTransformUtility$2$1.run(Unknown Source)
at com.ibm.xtools.transform.core.internal.engine.TransformRunHelper.runInUndoInterval(Unknown Source)
at com.ibm.xtools.transform.fuse.FuseTransformUtility$2.run(Unknown Source)
at org.eclipse.ui.internal.UILockListener.doPendingWork(Unknown Source)
at org.eclipse.ui.internal.UISynchronizer$3.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(Unknown Source)
at org.eclipse.jface.operation.ModalContext.run(Unknown Source)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(Unknown Source)
at com.ibm.xtools.transform.ui.internal.actions.AbstractRunTransformationAction.run(Unknown Source)
at com.ibm.xtools.transform.ui.internal.actions.AbstractRunTransformationAction.run(Unknown Source)
at com.ibm.xtools.transform.ui.internal.actions.AbstractRunTransformationAction.run(Unknown Source)
at org.eclipse.jface.action.Action.runWithEvent(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem.access$2(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
at org.eclipse.ui.internal.Workbench$5.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
at org.eclipse.equinox.launcher.Main.run(Unknown Source)
at org.eclipse.equinox.launcher.Main.main(Unknown Source)

Resolving The Problem

Complete one of the following steps:
- In the UML model, change the template parameter types to UML class.
- If it is not necessary to merge the transformation output with an existing model, specify an empty project as the target of the Java-to-UML transformation.

[{"Product":{"code":"SS4JE2","label":"Rational Software Architect Standard Edition"},"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Component":"Compare \/ Merge","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"7.5","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

More support for:
Rational Software Architect Standard Edition

Software version:
7.5

Operating system(s):
Linux, Windows

Document number:
359189

Modified date:
19 August 2022

UID

swg21319690