protected void addDefinitionIcons( List<IResource> resourcesToExport, final IRepositoryStore store, ConnectorDefinition def) { if (def.getIcon() != null) { IFile iconFile = store.getResource().getFile(Path.fromOSString(def.getIcon())); if (iconFile != null && iconFile.exists()) { resourcesToExport.add(iconFile); } else { URL url = ConnectorPlugin.getDefault() .getBundle() .getResource(ConnectorDefRepositoryStore.STORE_NAME + "/" + def.getIcon()); if (url != null) { try { IFile f = store.getResource().getFile(def.getIcon()); if (!f.exists()) { InputStream is = url.openStream(); f.create(is, true, Repository.NULL_PROGRESS_MONITOR); if (!resourcesToExport.contains(f)) { resourcesToExport.add(f); } cleanAfterExport.add(f); is.close(); } } catch (Exception e) { BonitaStudioLog.error(e); } } } } for (Category c : def.getCategory()) { if (c.getIcon() != null) { IFile iconFile = store.getResource().getFile(Path.fromOSString(c.getIcon())); if (iconFile != null && iconFile.exists()) { if (!resourcesToExport.contains(iconFile)) { resourcesToExport.add(iconFile); } } else { URL url = ConnectorPlugin.getDefault() .getBundle() .getResource(ConnectorDefRepositoryStore.STORE_NAME + "/" + c.getIcon()); if (url != null) { try { IFile f = store.getResource().getFile(c.getIcon()); if (!f.exists()) { InputStream is = url.openStream(); f.create(is, true, Repository.NULL_PROGRESS_MONITOR); if (!resourcesToExport.contains(f)) { resourcesToExport.add(f); } cleanAfterExport.add(f); is.close(); } } catch (Exception e) { BonitaStudioLog.error(e); } } } } } }