diff -r 16cfaa469b1c -r f2409b13f0f8 connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/settings/ui/ConnectionSettingsPage.java --- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/settings/ui/ConnectionSettingsPage.java Thu Jul 15 15:29:49 2010 -0500 +++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/settings/ui/ConnectionSettingsPage.java Fri Jul 16 08:47:34 2010 -0500 @@ -83,30 +83,31 @@ import org.eclipse.ui.PlatformUI; import org.osgi.framework.Version; -import com.nokia.carbide.installpackages.InstallPackages; import com.nokia.carbide.remoteconnections.Messages; import com.nokia.carbide.remoteconnections.RemoteConnectionsActivator; import com.nokia.carbide.remoteconnections.interfaces.AbstractConnectedService2; import com.nokia.carbide.remoteconnections.interfaces.IConnectedService; +import com.nokia.carbide.remoteconnections.interfaces.IConnectedService.IStatus; +import com.nokia.carbide.remoteconnections.interfaces.IConnectedService.IStatus.EStatus; +import com.nokia.carbide.remoteconnections.interfaces.IConnectedService.IStatusChangedListener; import com.nokia.carbide.remoteconnections.interfaces.IConnection; import com.nokia.carbide.remoteconnections.interfaces.IConnectionFactory; +import com.nokia.carbide.remoteconnections.interfaces.IConnectionFactory.IValidationErrorReporter; import com.nokia.carbide.remoteconnections.interfaces.IConnectionFactory2; +import com.nokia.carbide.remoteconnections.interfaces.IConnectionFactory2.ISettingsChangedListener; import com.nokia.carbide.remoteconnections.interfaces.IConnectionType; import com.nokia.carbide.remoteconnections.interfaces.IConnectionTypeProvider; import com.nokia.carbide.remoteconnections.interfaces.IRemoteAgentInstallerProvider; +import com.nokia.carbide.remoteconnections.interfaces.IRemoteAgentInstallerProvider.IRemoteAgentInstaller; +import com.nokia.carbide.remoteconnections.interfaces.IRemoteAgentInstallerProvider.IRemoteAgentInstaller.IPackageContents; import com.nokia.carbide.remoteconnections.interfaces.IService; import com.nokia.carbide.remoteconnections.interfaces.IService2; -import com.nokia.carbide.remoteconnections.interfaces.IConnectedService.IStatus; -import com.nokia.carbide.remoteconnections.interfaces.IConnectedService.IStatusChangedListener; -import com.nokia.carbide.remoteconnections.interfaces.IConnectedService.IStatus.EStatus; -import com.nokia.carbide.remoteconnections.interfaces.IConnectionFactory.IValidationErrorReporter; -import com.nokia.carbide.remoteconnections.interfaces.IConnectionFactory2.ISettingsChangedListener; -import com.nokia.carbide.remoteconnections.interfaces.IRemoteAgentInstallerProvider.IRemoteAgentInstaller; -import com.nokia.carbide.remoteconnections.interfaces.IRemoteAgentInstallerProvider.IRemoteAgentInstaller.IPackageContents; +import com.nokia.carbide.remoteconnections.internal.api.IConnectedService2; import com.nokia.carbide.remoteconnections.internal.registry.Registry; import com.nokia.cpp.internal.api.utils.core.Check; import com.nokia.cpp.internal.api.utils.core.FileUtils; import com.nokia.cpp.internal.api.utils.core.HostOS; +import com.nokia.cpp.internal.api.utils.core.ObjectUtils; import com.nokia.cpp.internal.api.utils.core.Pair; import com.nokia.cpp.internal.api.utils.ui.BrowseDialogUtils; @@ -307,20 +308,20 @@ @SuppressWarnings("unchecked") public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) deviceOSComboViewer.getSelection(); - Pair pair = (Pair) selection.getFirstElement(); + Pair pair = (Pair) selection.getFirstElement(); setSelectionToInstallComposite(pair); - if (connectedService != null) - connectedService.setDeviceOS(pair.first, pair.second); + if (connectedService instanceof IConnectedService2) + ((IConnectedService2) connectedService).setDeviceOS(pair.first, pair.second); } }); deviceOSComboViewer.setContentProvider(new ArrayContentProvider()); deviceOSComboViewer.setLabelProvider(new LabelProvider() { - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public String getText(Object element) { Check.checkState(element instanceof Pair); Pair pair = (Pair) element; - return MessageFormat.format("{0} {1}", pair.first, InstallPackages.formatSDKVersion(pair.second)); //$NON-NLS-1$ + return MessageFormat.format("{0} {1}", pair.first, pair.second); //$NON-NLS-1$ } }); deviceOSComboViewer.getControl().setToolTipText(Messages.getString("ConnectionSettingsPage.DeviceOSComboToolTip")); //$NON-NLS-1$ @@ -446,9 +447,6 @@ String label = ((IRemoteAgentInstaller) value).getLabel(); return label == null ? Messages.getString("ConnectionSettingsPage.UnlabeledPackageLabel") : label; //$NON-NLS-1$ } - if (value instanceof Version) - return InstallPackages.formatSDKVersion((Version) value); - return value.toString(); } @@ -715,7 +713,7 @@ } // update sdk combo - List> deviceOSPairs = createDeviceOSPairs(); + List> deviceOSPairs = createDeviceOSPairs(); deviceOSComboViewer.setInput(deviceOSPairs); if (!deviceOSPairs.isEmpty()) { deviceOSComboViewer.getCombo().select(0); @@ -737,7 +735,7 @@ } - protected void setSelectionToInstallComposite(Pair pair) { + protected void setSelectionToInstallComposite(Pair pair) { Object input = installerTreeViewer.getInput(); if (input instanceof TreeNode[]) { TreeNode node = findTreeNodeForPair((TreeNode[]) input, pair); @@ -748,14 +746,14 @@ } } - @SuppressWarnings("unchecked") - private TreeNode findTreeNodeForPair(TreeNode[] treeNodes, Pair pair) { + private TreeNode findTreeNodeForPair(TreeNode[] treeNodes, Pair pair) { for (TreeNode treeNode : treeNodes) { Object value = treeNode.getValue(); if (value instanceof IRemoteAgentInstaller) { TreeNode versionNode = treeNode.getParent(); TreeNode familyNode = versionNode.getParent(); - if (pair.equals(new Pair(familyNode.getValue(), versionNode.getValue()))) + if (ObjectUtils.equals(pair.first, familyNode.getValue()) && + ObjectUtils.equals(pair.second, versionNode.getValue())) return treeNode; } TreeNode[] children = treeNode.getChildren(); @@ -786,9 +784,10 @@ connectedService = Registry.instance().createConnectedService(service, connection); IStructuredSelection selection = (IStructuredSelection) deviceOSComboViewer.getSelection(); - Pair pair = (Pair) selection.getFirstElement(); - if (pair != null) - connectedService.setDeviceOS(pair.first, pair.second); + Pair pair = (Pair) selection.getFirstElement(); + if (pair != null && connectedService instanceof IConnectedService2) { + ((IConnectedService2) connectedService).setDeviceOS(pair.first, pair.second); + } connectedService.addStatusChangedListener(statusListener = new IStatusChangedListener() { public void statusChanged(final IStatus status) { Display.getDefault().asyncExec(new Runnable() { @@ -899,12 +898,12 @@ private void createFamilySubNodes(TreeNode familyNode, IRemoteAgentInstallerProvider installerProvider) { String familyName = familyNode.getValue().toString(); - List versions = installerProvider.getVersions(familyName); + List versions = installerProvider.getVersions(familyName); List childList = new ArrayList(); TreeNode[] children = familyNode.getChildren(); if (children != null) childList.addAll(Arrays.asList(children)); - for (Version version : versions) { + for (String version : versions) { TreeNode versionNode = getVersionNode(familyNode, version); if (versionNode == null) { versionNode = new TreeNode(version); @@ -916,7 +915,7 @@ familyNode.setChildren((TreeNode[]) childList.toArray(new TreeNode[childList.size()])); } - private TreeNode getVersionNode(TreeNode familyNode, Version version) { + private TreeNode getVersionNode(TreeNode familyNode, String version) { TreeNode[] children = familyNode.getChildren(); if (children != null) { for (TreeNode node : children) { @@ -929,7 +928,7 @@ private void createInstallerNodes(TreeNode versionNode, IRemoteAgentInstallerProvider installerProvider) { String familyName = versionNode.getParent().getValue().toString(); - Version version = (Version) versionNode.getValue(); + String version = versionNode.getValue().toString(); List installers = installerProvider.getRemoteAgentInstallers(familyName, version); List childList = new ArrayList(); @@ -944,14 +943,14 @@ versionNode.setChildren((TreeNode[]) childList.toArray(new TreeNode[childList.size()])); } - private synchronized List> createDeviceOSPairs() { - List> deviceOSPairs = new ArrayList>(); + private synchronized List> createDeviceOSPairs() { + List> deviceOSPairs = new ArrayList>(); for (IRemoteAgentInstallerProvider installerProvider : installerProviders) { List familyNames = installerProvider.getSDKFamilyNames(null); for (String familyName : familyNames) { - List versions = installerProvider.getVersions(familyName); - for (Version version : versions) { - Pair pair = new Pair(familyName, version); + List versions = installerProvider.getVersions(familyName); + for (String version : versions) { + Pair pair = new Pair(familyName, version); if (!deviceOSPairs.contains(pair)) deviceOSPairs.add(pair); }