connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/settings/ui/ConnectionSettingsPage.java
changeset 460 903fa36d4afb
parent 163 b25acbfc406a
child 465 53630b3cab85
equal deleted inserted replaced
459:e32fb1052656 460:903fa36d4afb
    74 		}
    74 		}
    75 	}
    75 	}
    76 
    76 
    77 	private final static TreeNode LOADING_CONTENT_TREENODE = 
    77 	private final static TreeNode LOADING_CONTENT_TREENODE = 
    78 		new TreeNode(Messages.getString("ConnectionSettingsPage.GettingDataMessage")); //$NON-NLS-1$
    78 		new TreeNode(Messages.getString("ConnectionSettingsPage.GettingDataMessage")); //$NON-NLS-1$
       
    79 	private static final TreeNode[] LOADING_CONTENT_INPUT = new TreeNode[] { LOADING_CONTENT_TREENODE };
    79 	private static final String STATUS_NOT_TESTED = 
    80 	private static final String STATUS_NOT_TESTED = 
    80 		Messages.getString("ConnectionSettingsPage.NotTestedStatusString"); //$NON-NLS-1$
    81 		Messages.getString("ConnectionSettingsPage.NotTestedStatusString"); //$NON-NLS-1$
    81 	private final static Image FOLDER_ICON_IMG = 
    82 	private final static Image FOLDER_ICON_IMG = 
    82 		PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
    83 		PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
    83 				ISharedImages.IMG_OBJ_FOLDER).createImage();
    84 				ISharedImages.IMG_OBJ_FOLDER).createImage();
   484 	}
   485 	}
   485 
   486 
   486 	private synchronized void initializeInstallerData() {
   487 	private synchronized void initializeInstallerData() {
   487 		Display.getDefault().asyncExec(new Runnable() {
   488 		Display.getDefault().asyncExec(new Runnable() {
   488 			public void run() {
   489 			public void run() {
   489 				installerTreeViewer.setInput(new TreeNode[] { LOADING_CONTENT_TREENODE });
   490 				if (installerTreeViewer.getContentProvider() == null)
       
   491 					installerTreeViewer.setContentProvider(new TreeNodeContentProvider());
       
   492 				installerTreeViewer.setInput(LOADING_CONTENT_INPUT);
   490 				installerInfoText.setText(""); //$NON-NLS-1$
   493 				installerInfoText.setText(""); //$NON-NLS-1$
   491 				deviceOSComboViewer.setInput(Collections.EMPTY_LIST);
   494 				deviceOSComboViewer.setInput(Collections.EMPTY_LIST);
   492 			}
   495 			}
   493 		});
   496 		});
   494 
   497 
   675 				return (IRemoteAgentInstaller) value;
   678 				return (IRemoteAgentInstaller) value;
   676 		}
   679 		}
   677 		return null;
   680 		return null;
   678 	}
   681 	}
   679 	
   682 	
   680 	private TreeNode[] createTreeNodes() {
   683 	private synchronized TreeNode[] createTreeNodes() {
   681 		Map<String, TreeNode> sdkFamilyToNodes = new HashMap<String, TreeNode>();
   684 		Map<String, TreeNode> sdkFamilyToNodes = new HashMap<String, TreeNode>();
   682 		for (IRemoteAgentInstallerProvider installerProvider : installerProviders) {
   685 		for (IRemoteAgentInstallerProvider installerProvider : installerProviders) {
   683 			List<String> familyNames = installerProvider.getSDKFamilyNames(null);
   686 			List<String> familyNames = installerProvider.getSDKFamilyNames(null);
   684 			for (String familyName : familyNames) {
   687 			for (String familyName : familyNames) {
   685 				if (!sdkFamilyToNodes.containsKey(familyName))
   688 				if (!sdkFamilyToNodes.containsKey(familyName))
   736 			childList.add(installerNode);
   739 			childList.add(installerNode);
   737 		}
   740 		}
   738 		versionNode.setChildren((TreeNode[]) childList.toArray(new TreeNode[childList.size()]));
   741 		versionNode.setChildren((TreeNode[]) childList.toArray(new TreeNode[childList.size()]));
   739 	}
   742 	}
   740 	
   743 	
   741 	private List<Pair<String, Version>> createDeviceOSPairs() {
   744 	private synchronized List<Pair<String, Version>> createDeviceOSPairs() {
   742 		List<Pair<String, Version>> deviceOSPairs = new ArrayList<Pair<String, Version>>();
   745 		List<Pair<String, Version>> deviceOSPairs = new ArrayList<Pair<String, Version>>();
   743 		for (IRemoteAgentInstallerProvider installerProvider : installerProviders) {
   746 		for (IRemoteAgentInstallerProvider installerProvider : installerProviders) {
   744 			List<String> familyNames = installerProvider.getSDKFamilyNames(null);
   747 			List<String> familyNames = installerProvider.getSDKFamilyNames(null);
   745 			for (String familyName : familyNames) {
   748 			for (String familyName : familyNames) {
   746 				List<Version> versions = installerProvider.getVersions(familyName);
   749 				List<Version> versions = installerProvider.getVersions(familyName);
   752 			}
   755 			}
   753 		}
   756 		}
   754 		return deviceOSPairs;
   757 		return deviceOSPairs;
   755 	}
   758 	}
   756 	
   759 	
   757 	private void getInstallerProviders(Collection<IService> services) {
   760 	private synchronized void getInstallerProviders(Collection<IService> services) {
   758 		if (installerProviders != null) {
   761 		if (installerProviders != null) {
   759 			// check to see if we already have this set of installer providers
   762 			// check to see if we already have this set of installer providers
   760 			Set<String> serviceIds = new TreeSet<String>();
   763 			Set<String> serviceIds = new TreeSet<String>();
   761 			for (IService service : services) {
   764 			for (IService service : services) {
   762 				if (service.getInstallerProvider() != null)
   765 				if (service.getInstallerProvider() != null)
   776 			if (installerProvider != null)
   779 			if (installerProvider != null)
   777 				installerProviders.add(installerProvider);
   780 				installerProviders.add(installerProvider);
   778 		}
   781 		}
   779 	}
   782 	}
   780 
   783 
   781 	private void disposeInstallerProviders() {
   784 	private synchronized void disposeInstallerProviders() {
   782 		if (installerProviders != null) {
   785 		if (installerProviders != null) {
   783 			for (IRemoteAgentInstallerProvider installerProvider : installerProviders) {
   786 			for (IRemoteAgentInstallerProvider installerProvider : installerProviders) {
   784 				installerProvider.dispose();
   787 				installerProvider.dispose();
   785 			}
   788 			}
   786 			installerProviders.clear();
   789 			installerProviders.clear();