Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 369589

Summary: Issue is seen when Connectivity plugin "org.eclipse.datatools.connectivity_1.2.4.v201109280521.jar" present in the build.
Product: [Tools] Data Tools Reporter: Hardik Patel <hardikpa>
Component: ConnectivityAssignee: dtp.connectivity-inbox <dtp.connectivity-inbox>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3 CC: lchan
Version: 1.9   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Hardik Patel CLA 2012-01-24 15:09:45 EST
Build Identifier:  M20110210-1200

Hi ,

When the connectivity plugin with version "org.eclipse.datatools.connectivity_1.2.4.v201109280521.jar" is present in the build issue is seen , When a user tries to import a connection profile from Data Source Explorer tool bar. The following shown exception is thrown 

But when the build contains earlier version of plugin  "org.eclipse.datatools.connectivity_1.2.2.v201010220354.jar" things works fine.

Exception :
java.lang.NoSuchMethodError: org/eclipse/datatools/connectivity/internal/ConnectionProfileMgmt.importCPs(Ljava/io/File;Lorg/eclipse/datatools/connectivity/internal/security/ICipherProvider;Z)[Lorg/eclipse/datatools/connectivity/IConnectionProfile;
	at org.eclipse.datatools.connectivity.internal.ui.wizards.ImportProfilesDialog.okPressed(ImportProfilesDialog.java:292)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.datatools.connectivity.ui.actions.ImportProfileViewAction.execute(ImportProfileViewAction.java:116)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
	at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
	at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
	at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)
	at java.lang.reflect.Method.invoke(Method.java:612)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1384)


Reproducible: Always

Steps to Reproduce:
1. In the Data Source Explorer view, try to import an connection profile .
2. In the import connection profile dialog point to an existing connection profile , by clicking "Browse" button.
3. Click "OK" , the dialog will not get close/dismiss. An exception is noticed in the Error Log view.
Comment 1 Linda Chan CLA 2012-01-24 15:41:37 EST
The "org.eclipse.datatools.connectivity_1.2.4.v201109280521.jar" is part of DTP 1.9.2, and must be used together with other DTP 1.9.2 plugins.

Which version of DTP are you using?  If it is DTP 1.9.0, as indicated in the Version field, it is not compatible with the o.e.d.connectivity plugin version 1.2.4, just by itself.

When I used DTP 1.9.2, importing connection profile works fine for me.
Comment 2 Linda Chan CLA 2012-01-24 16:25:46 EST
Specifically, the org.eclipse.datatools.connectivity.internal.ui.wizards.ImportProfilesDialog.okPressed (in DTP 1.9) calls an internal method ConnectionProfileMgmt#importCPs that existed in the same release.
Internal methods are not public API, and can be changed/removed any time.
The internal methods implementation have been changed in DTP 1.9.2, where the ImportProfilesDialog#okPressed method is updated to call the revised ConnectionProfileMgmt#importCPs method.