IBM Support

PM85611: Updating a Profile Tooling Model results in a NullPointerException error entry appearing in the workspace log

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • abstract:
    Attempts to execute the function 'Update Tooling Model' on a
    profile tooling model with IBM Rational Software Architect
    version 8.5.1 result is nothing happening and a
    NullPointerException entry appearing in your workspace log as it
    is not able to find the source profile.
    
    error_description:
    Steps to reproduce
    1. Create a UML Profile Tooling Plug-in Project name
    'TestProject'
    2. In the third step of the Wizard (Create a new UML Profile
    tooling plugin-project) when you are asked to browse to an
    existing UML Profile  or create a new one, choose 'New'
    3. Use as Profile Name : 'MyProfile' and as File Name:
    'MyProfileFile'.
    4. Click Finish.
    5. Right click on 'MyProfile' in the project explorer and choose
    the option 'Generate Profile Tooling Model' (when asked to
    configure the advanced properties before the tooling model is
    generated choose 'No').
    6. Open the generated tooling model, right click on it from the
    project explorer and choose the option 'Update Tooling Model'.
    Result:
    Nothing happens and the following stack trace/entry will appear
    in the .log:
    java.lang.NullPointerException
        at
    com.ibm.xtools.uml.profile.tooling.internal.generator.models.Too
    lingModelGenerator.getSourceProfile(Unknown
    Source)
        at
    com.ibm.xtools.uml.profile.tooling.ui.internal.util.ProfileTooli
    ngUIUtil.generateToolingModel(Unknown
    Source)
        at
    com.ibm.xtools.uml.profile.tooling.ui.internal.util.ProfileTooli
    ngUIUtil.generateToolingModel(Unknown
    Source)
        at
    com.ibm.xtools.uml.profile.tooling.ui.internal.util.ProfileTooli
    ngUIUtil.updateToolingModel(Unknown
    Source)
        at
    com.ibm.xtools.uml.profile.tooling.ui.internal.actions.UpdateToo
    lingModelAction.run(Unknown
    Source)
        at org.eclipse.ui.internal.PluginAction.runWithEvent(Unknown
    Source)
        at
    org.eclipse.jface.action.ActionContributionItem.handleWidgetSele
    ction(Unknown
    Source)
        at
    org.eclipse.jface.action.ActionContributionItem.access$2(Unknown
    Source)
        at
    org.eclipse.jface.action.ActionContributionItem$5.handleEvent(Un
    known
    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$7.run(Unknown Source)
        at
    org.eclipse.core.databinding.observable.Realm.runWithDefault(Unk
    nown
    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(Unk
    nown
    Source)
        at
    org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown
    Source)
        at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.run
    Application(Unknown
    Source)
        at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.sta
    rt(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)
    
    
    workaround:
    1. Inspect the name of the Profile Tooling model generated by
    right clicking on it in the project Explorer and choosing
    Refactor?Rename file. The file name should be 'MyProfileFile'.
    2. Change it to  'MyProfile' to  match the name of the profile
    name.
    3. Right click on it from the project explorer and choose the
    option 'Update Tooling Model'.
    Result:
    The message 'The target Files will be updated using the 'visual'
    merge option, do you want to continue?'  as expected
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A NullPointerException was thrown by the logic used to
    estimate the profile file name based on Profile name
    specified in the profile model content.
    

Problem conclusion

  • Corrected this logic to give preference to the physical
    filename if identifiable. Fallback to Profile name (backward
    compatibility).
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM85611

  • Reported component name

    SW ARCHITECT WI

  • Reported component ID

    5724I7001

  • Reported release

    851

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-03-26

  • Closed date

    2013-06-14

  • Last modified date

    2013-06-14

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    SW ARCHITECT WI

  • Fixed component ID

    5724I7001

Applicable component levels

  • R851 PSN

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYKBQ","label":"Rational Software Architect Designer for WebSphere Software"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"851","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 October 2021