/** * Gets a list of all the bundles that can be added as implicit dependencies * * @return list of possible dependencies */ protected BundleInfo[] getValidBundles() throws CoreException { NameVersionDescriptor[] current = getTargetDefinition().getImplicitDependencies(); Set<String> currentBundles = new HashSet<String>(); if (current != null) { for (int i = 0; i < current.length; i++) { if (!currentBundles.contains(current[i].getId())) { currentBundles.add(current[i].getId()); } } } List<BundleInfo> targetBundles = new ArrayList<BundleInfo>(); TargetBundle[] allTargetBundles = getTargetDefinition().getAllBundles(); if (allTargetBundles == null || allTargetBundles.length == 0) { throw new CoreException( new Status( IStatus.WARNING, PDEPlugin.getPluginId(), PDEUIMessages.ImplicitDependenciesSection_0)); } for (int i = 0; i < allTargetBundles.length; i++) { BundleInfo bundleInfo = allTargetBundles[i].getBundleInfo(); if (!currentBundles.contains(bundleInfo.getSymbolicName())) { currentBundles.add(bundleInfo.getSymbolicName()); // to avoid duplicate entries targetBundles.add(bundleInfo); } } return targetBundles.toArray(new BundleInfo[targetBundles.size()]); }
protected void handleAdd() { ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new StyledBundleLabelProvider(false, false)); try { dialog.setElements(getValidBundles()); } catch (CoreException e) { dialog.setMessage(e.getMessage()); } dialog.setTitle(PDEUIMessages.PluginSelectionDialog_title); dialog.setMessage(PDEUIMessages.PluginSelectionDialog_message); dialog.setMultipleSelection(true); if (dialog.open() == Window.OK) { Object[] models = dialog.getResult(); ArrayList<NameVersionDescriptor> pluginsToAdd = new ArrayList<NameVersionDescriptor>(); for (int i = 0; i < models.length; i++) { BundleInfo desc = ((BundleInfo) models[i]); pluginsToAdd.add(new NameVersionDescriptor(desc.getSymbolicName(), null)); } Set<NameVersionDescriptor> allDependencies = new HashSet<NameVersionDescriptor>(); allDependencies.addAll(pluginsToAdd); NameVersionDescriptor[] currentBundles = getTargetDefinition().getImplicitDependencies(); if (currentBundles != null) { allDependencies.addAll(Arrays.asList(currentBundles)); } getTargetDefinition() .setImplicitDependencies( allDependencies.toArray(new NameVersionDescriptor[allDependencies.size()])); fElementViewer.refresh(); updateImpButtons(); } }
public XMLComparePreferencePage() { super(); fIdMaps = new HashMap(); XMLPlugin plugin = XMLPlugin.getDefault(); HashMap PluginIdMaps = plugin.getIdMaps(); Set keySet = PluginIdMaps.keySet(); for (Iterator iter = keySet.iterator(); iter.hasNext(); ) { String key = (String) iter.next(); fIdMaps.put(key, ((HashMap) PluginIdMaps.get(key)).clone()); } fIdMapsInternal = plugin.getIdMapsInternal(); fIdExtensionToName = new HashMap(); HashMap PluginIdExtensionToName = plugin.getIdExtensionToName(); keySet = PluginIdExtensionToName.keySet(); for (Iterator iter = keySet.iterator(); iter.hasNext(); ) { String key = (String) iter.next(); fIdExtensionToName.put(key, PluginIdExtensionToName.get(key)); } fOrderedElements = new HashMap(); HashMap PluginOrderedElements = plugin.getOrderedElements(); keySet = PluginOrderedElements.keySet(); for (Iterator iter = keySet.iterator(); iter.hasNext(); ) { String key = (String) iter.next(); fOrderedElements.put(key, ((ArrayList) PluginOrderedElements.get(key)).clone()); } fOrderedElementsInternal = plugin.getOrderedElementsInternal(); }
@Override protected void refreshPage() { fAvailableListViewer.addFilter(fSourceFilter); fImportListViewer.getTable().removeAll(); fSelected.clear(); fAvailableFilter.setPattern("*"); // $NON-NLS-1$ fSourceFilter.setState(fPage1.getState()); fVersionFilter.setModel(fModels); fAvailableListViewer.refresh(); pageChanged(); }
protected void fillIdMapsTable() { // fill user idmaps from plugin.xml fillIdMaps(true); // fill user idmaps from Preference Store fillIdMaps(false); // add user idmaps that have ordered entries but no id mappings // they do not appear in the preference store with name IDMAP_PREFERENCE_NAME Set OrderedKeys = fOrderedElements.keySet(); Set IdMapKeys = fIdMaps.keySet(); for (Iterator iter_orderedElements = OrderedKeys.iterator(); iter_orderedElements.hasNext(); ) { String IdMapName = (String) iter_orderedElements.next(); if (!IdMapKeys.contains(IdMapName)) { IdMap idmap = new IdMap(IdMapName, false); ArrayList idmapOrdered = (ArrayList) fOrderedElements.get(IdMapName); setOrdered(idmap, idmapOrdered); newIdMapsTableItem(idmap, false); } } }
private void fillIdMaps(boolean internal) { HashMap IdMaps = (internal) ? fIdMapsInternal : fIdMaps; HashMap OrderedElements = (internal) ? fOrderedElementsInternal : fOrderedElements; Set IdMapKeys = IdMaps.keySet(); for (Iterator iter_internal = IdMapKeys.iterator(); iter_internal.hasNext(); ) { String IdMapName = (String) iter_internal.next(); Vector Mappings = new Vector(); IdMap idmap = new IdMap(IdMapName, internal, Mappings); // create mappings of internal idmaps HashMap idmapHM = (HashMap) IdMaps.get(IdMapName); Set idmapKeys = idmapHM.keySet(); for (Iterator iter_idmap = idmapKeys.iterator(); iter_idmap.hasNext(); ) { Mapping mapping = new Mapping(); String signature = (String) iter_idmap.next(); int end_of_signature = signature.lastIndexOf(SIGN_SEPARATOR, signature.length() - 2); if (end_of_signature < XMLStructureCreator.ROOT_ID.length() + 1) mapping.setSignature(""); // $NON-NLS-1$ else mapping.setSignature( signature.substring(XMLStructureCreator.ROOT_ID.length() + 1, end_of_signature)); mapping.setElement(signature.substring(end_of_signature + 1, signature.length() - 1)); mapping.setIdAttribute((String) idmapHM.get(signature)); Mappings.add(mapping); } // create ordered mappings ArrayList idmapOrdered = (ArrayList) OrderedElements.get(IdMapName); if (idmapOrdered != null) { setOrdered(idmap, idmapOrdered); } // set extension if (fIdExtensionToName.containsValue(IdMapName)) { Set keySet = fIdExtensionToName.keySet(); String extension = new String(); for (Iterator iter = keySet.iterator(); iter.hasNext(); ) { extension = (String) iter.next(); if (((String) fIdExtensionToName.get(extension)).equals(IdMapName)) break; } idmap.setExtension(extension); } newIdMapsTableItem(idmap, false); } }
private void doRemove(List<Object> items) { fSelected.removeAll(items); fImportListViewer.remove(items.toArray()); fAvailableListViewer.add(items.toArray()); }
/** * Delimits a comma separated preference and add the items to the given set * * @param set * @param preference */ private void addExtraChoices(Set<String> set, String preference) { StringTokenizer tokenizer = new StringTokenizer(preference, ","); // $NON-NLS-1$ while (tokenizer.hasMoreTokens()) { set.add(tokenizer.nextToken().trim()); } }