/* * (non-Javadoc) Method declared on IAction. */ @Override public void run() { String path = null; if (GlobalServiceRegister.getDefault() .isServiceRegistered(IComponentsLocalProviderService.class)) { IComponentsLocalProviderService service = (IComponentsLocalProviderService) GlobalServiceRegister.getDefault() .getService(IComponentsLocalProviderService.class); if (service != null) { path = service.getPreferenceStore().getString("USER_COMPONENTS_FOLDER"); // $NON-NLS-1$ } } if (path == null || path.length() == 0) { new MessageDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.getString("PushToPaletteActionProvider.Error"), null, //$NON-NLS-1$ Messages.getString("PushToPaletteActionProvider.ErrorMSG"), MessageDialog.ERROR, new String[] {Messages.getString("PushToPaletteActionProvider.OK")}, 0) .open(); //$NON-NLS-1$ //$NON-NLS-2$ return; } File targetFile = new File(path); if (!targetFile.exists()) { new MessageDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.getString("PushToPaletteActionProvider.Error2"), null, //$NON-NLS-1$ Messages.getString("PushToPaletteActionProvider.ErrorMSG2"), MessageDialog.ERROR, new String[] {Messages.getString("PushToPaletteActionProvider.OK2")}, 0) .open(); //$NON-NLS-1$ //$NON-NLS-2$ return; } // fix issue 7636: Don't need to copy if component project URL and // user components folder are the same. String projectURL = ComponentDesigenerPlugin.getDefault() .getPreferenceStore() .getString(PluginConstant.PROJECT_URL); File source = new File(projectURL); List<String> invalidXMLs = new ArrayList(); for (IFolder selectedFolder : selectedFolderList) { List<String> result = checkComponentXMLinFolder(selectedFolder.getRawLocation().toString()); invalidXMLs.addAll(result); } // all XML are OK if (invalidXMLs.size() == 0) { if (!targetFile.equals(source)) { for (IFolder selectedFolder : selectedFolderList) { File sourceFile = selectedFolder.getRawLocation().toFile(); String sourceComponentFolder = sourceFile.getAbsolutePath(); String targetComponentFolder = targetFile.getAbsolutePath() + File.separator + sourceFile.getName(); FileCopy.copyComponentFolder(sourceComponentFolder, targetComponentFolder, true); } } // add for bug TDI-26719, clear image cash from EmfComponent IComponentsFactory components = ComponentsFactoryProvider.getInstance(); List<IComponent> comList = components.getCustomComponents(); for (IComponent com : comList) { if (com.getImageRegistry() != null) { com.getImageRegistry().clear(); } } MessageDialog warningMessageDialog = new MessageDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.getString("PushToPaletteActionProvider.Information"), null, Messages.getString("PushToPaletteActionProvider.InformationMSG"), MessageDialog.INFORMATION, // $NON-NLS-1$ //$NON-NLS-2$ new String[] {Messages.getString("PushToPaletteActionProvider.OK3")}, 0); //$NON-NLS-1$ warningMessageDialog.open(); CorePlugin.getDefault().getCodeGeneratorService().refreshTemplates(); } else { StringBuffer sbuffer = new StringBuffer(); for (String invalidXML : invalidXMLs) { sbuffer.append(invalidXML).append("\n"); // $NON-NLS-1$ } String waringInfo = Messages.getString("PushToPaletteActionProvider.PushToPaletteActionProvider.failed") + sbuffer.toString(); // $NON-NLS-1$ MessageDialog warningMessageDialog = new MessageDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.getString( "PushToPaletteActionProvider.PushToPaletteActionProvider.result"), null, waringInfo, //$NON-NLS-1$ MessageDialog.WARNING, new String[] {Messages.getString("PushToPaletteActionProvider.OK3")}, 0); //$NON-NLS-1$ warningMessageDialog.open(); } }
public PushToPaletteAction() { super( Messages.getString("PushToPaletteActionProvider.PushComponentsToPalette")); // $NON-NLS-1$ // setImageDescriptor(ImageLib.getImageDescriptor(ImageLib.COPYCOMPONENT_ACTION)); }