Previous CloneSet | Next CloneSet | Back to Main Report |
Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
---|---|---|---|---|
263 | 2 | 1 | 0.999 | class_body_declarations[13] |
Clone Abstraction | Parameter Bindings |
Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
---|---|---|---|
1 | 263 | 284 | plugins/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ExternalizeStringsAction.java |
2 | 263 | 195 | plugins/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindStringsToExternalizeAction.java |
| ||||
private void showResults() { if (noStrings()) MessageDialog.openInformation(getShell(), getDialogTitle(), ActionMessages.FindStringsToExternalizeAction_noStrings); else new NonNLSListDialog(getShell(), fElements, countStrings()).open(); } private boolean noStrings() { if (fElements != null) { for (int i = 0; i < fElements.length; i++) { if (fElements[i].count != 0) return false; } } return true; } /* * returns List of Strings */ private List analyze(IPackageFragment pack, IProgressMonitor pm) throws CoreException { try { if (pack == null) return new ArrayList(0); ICompilationUnit[] cus = pack.getCompilationUnits(); pm.beginTask("", cus.length); //$NON-NLS-1$ pm.setTaskName(pack.getElementName()); List l = new ArrayList(cus.length); for (int i = 0; i < cus.length; i++) { pm.subTask(cus[i].getElementName()); NonNLSElement element = analyze(cus[i]); if (element != null) l.add(element); pm.worked(1); if (pm.isCanceled()) throw new OperationCanceledException(); } return l; } finally { pm.done(); } } /* * returns List of Strings */ private List analyze(IPackageFragmentRoot sourceFolder, IProgressMonitor pm) throws CoreException { try { IJavaElement[] children = sourceFolder.getChildren(); pm.beginTask("", children.length); //$NON-NLS-1$ pm.setTaskName(sourceFolder.getElementName()); List result = new ArrayList(); for (int i = 0; i < children.length; i++) { IJavaElement iJavaElement = children[i]; if (iJavaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment pack = (IPackageFragment) iJavaElement; if ( ! pack.isReadOnly()) result.addAll(analyze(pack, new SubProgressMonitor(pm, 1))); else pm.worked(1); } else pm.worked(1); } return result; } finally { pm.done(); } } /* * returns List of Strings */ private List analyze(IJavaProject project, IProgressMonitor pm) throws CoreException { try { IPackageFragment[] packs = project.getPackageFragments(); pm.beginTask("", packs.length); //$NON-NLS-1$ List result = new ArrayList(); for (int i = 0; i < packs.length; i++) { if ( ! packs[i].isReadOnly()) result.addAll(analyze(packs[i], new SubProgressMonitor(pm, 1))); else pm.worked(1); } return result; } finally { pm.done(); } } private int countStrings() { int found = 0; if (fElements != null) { for (int i = 0; i < fElements.length; i++) found += fElements[i].count; } return found; } private NonNLSElement analyze(ICompilationUnit cu) throws CoreException { int count = countNonExternalizedStrings(cu); if (count == 0) return null; else return new NonNLSElement(cu, count); } private int countNonExternalizedStrings(ICompilationUnit cu) throws CoreException { try { NLSLine[] lines = NLSScanner.scan(cu); int result = 0; for (int i = 0; i < lines.length; i++) { result += countNonExternalizedStrings(lines[i]); } return result; } catch (InvalidInputException e) { throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR, Messages.format(ActionMessages.FindStringsToExternalizeAction_error_cannotBeParsed, cu.getElementName()), e )); } } private int countNonExternalizedStrings(NLSLine line) { int result = 0; NLSElement[] elements = line.getElements(); for (int i = 0; i < elements.length; i++) { if ( ! elements[i].hasTag()) result++; } return result; } /** * returns <code>List</code> of <code>IPackageFragments</code>, <code>IPackageFragmentRoots</code> or * <code>IJavaProjects</code> (all entries are of the same kind) */ private static List getSelectedElementList(IStructuredSelection selection) { if (selection == null) return null; return selection.toList(); } //-------private classes -------------- private static class NonNLSListDialog extends ListDialog { private static final int OPEN_BUTTON_ID = IDialogConstants.CLIENT_ID + 1; private Button fOpenButton; NonNLSListDialog(Shell parent, NonNLSElement[] input, int count) { super(parent); setInput(Arrays.asList(input)); setTitle(ActionMessages.ExternalizeStringsAction_dialog_title); setMessage(Messages.format(ActionMessages.FindStringsToExternalizeAction_non_externalized, new Object[] { new Integer(count) } )); setContentProvider(new ArrayContentProvider()); setLabelProvider(createLabelProvider()); } public void create() { setShellStyle(SWT.DIALOG_TRIM| SWT.RESIZE| SWT.MIN); super.create(); } protected Point getInitialSize() { return getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT, true); } protected Control createDialogArea(Composite parent) { Composite result = (Composite) super.createDialogArea(parent); getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (fOpenButton != null) { fOpenButton.setEnabled( ! getTableViewer().getSelection().isEmpty()); } } } ); getTableViewer().getTable().addSelectionListener(new SelectionAdapter() { public void widgetDefaultSelected(SelectionEvent e) { NonNLSElement element = (NonNLSElement) e.item.getData(); openWizard(element.cu); } } ); getTableViewer().getTable().setFocus(); applyDialogFont(result); return result; } protected void createButtonsForButtonBar(Composite parent) { fOpenButton = createButton(parent, OPEN_BUTTON_ID, ActionMessages.FindStringsToExternalizeAction_button_label, true); fOpenButton.setEnabled(false); //looks like a 'close' but it a 'cancel' createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CLOSE_LABEL, false); } protected void buttonPressed(int buttonId) { if (buttonId != OPEN_BUTTON_ID) { super.buttonPressed(buttonId); return; } ISelection s = getTableViewer().getSelection(); if (s instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) s; if (ss.getFirstElement() instanceof NonNLSElement) openWizard(((NonNLSElement) ss.getFirstElement()).cu); } } private void openWizard(ICompilationUnit unit) { try { if (unit != null && unit.exists()) { NLSRefactoring refactoring = NLSRefactoring.create(unit); if (refactoring != null) new RefactoringStarter().activate(refactoring, new ExternalizeWizard(refactoring), getShell(), ActionMessages.ExternalizeStringsAction_dialog_title, true); } } catch (JavaModelException e) { ExceptionHandler.handle(e, ActionMessages.FindStringsToExternalizeAction_dialog_title, ActionMessages.FindStringsToExternalizeAction_error_message); } } private static LabelProvider createLabelProvider() { return new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT) { public String getText(Object element) { NonNLSElement nlsel = (NonNLSElement) element; String elementName = ResourceUtil.getResource(nlsel.cu).getFullPath().toString(); return Messages.format( ActionMessages.FindStringsToExternalizeAction_foundStrings, new Object[] { new Integer(nlsel.count), elementName } ); } public Image getImage(Object element) { return super.getImage(((NonNLSElement) element).cu); } }; } /* * @see org.eclipse.jface.window.Window#configureShell(Shell) */ protected void configureShell(Shell newShell) { super.configureShell(newShell); PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, IJavaHelpContextIds.NONNLS_DIALOG); } } private static class NonNLSElement { ICompilationUnit cu; int count; NonNLSElement(ICompilationUnit cu, int count) { this.cu = cu; this.count = count; } } private String getDialogTitle() { return ActionMessages.FindStringsToExternalizeAction_dialog_title; } |
| ||||
private void showResults() { if (noStrings()) MessageDialog.openInformation(getShell(), getDialogTitle(), ActionMessages.FindStringsToExternalizeAction_noStrings); else new NonNLSListDialog(getShell(), fElements, countStrings()).open(); } private boolean noStrings() { if (fElements != null) { for (int i = 0; i < fElements.length; i++) { if (fElements[i].count != 0) return false; } } return true; } /* * returns List of Strings */ private List analyze(IPackageFragment pack, IProgressMonitor pm) throws CoreException { try { if (pack == null) return new ArrayList(0); ICompilationUnit[] cus = pack.getCompilationUnits(); pm.beginTask("", cus.length); //$NON-NLS-1$ pm.setTaskName(pack.getElementName()); List l = new ArrayList(cus.length); for (int i = 0; i < cus.length; i++) { pm.subTask(cus[i].getElementName()); NonNLSElement element = analyze(cus[i]); if (element != null) l.add(element); pm.worked(1); if (pm.isCanceled()) throw new OperationCanceledException(); } return l; } finally { pm.done(); } } /* * returns List of Strings */ private List analyze(IPackageFragmentRoot sourceFolder, IProgressMonitor pm) throws CoreException { try { IJavaElement[] children = sourceFolder.getChildren(); pm.beginTask("", children.length); //$NON-NLS-1$ pm.setTaskName(sourceFolder.getElementName()); List result = new ArrayList(); for (int i = 0; i < children.length; i++) { IJavaElement iJavaElement = children[i]; if (iJavaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment pack = (IPackageFragment) iJavaElement; if ( ! pack.isReadOnly()) result.addAll(analyze(pack, new SubProgressMonitor(pm, 1))); else pm.worked(1); } else pm.worked(1); } return result; } finally { pm.done(); } } /* * returns List of Strings */ private List analyze(IJavaProject project, IProgressMonitor pm) throws CoreException { try { IPackageFragment[] packs = project.getPackageFragments(); pm.beginTask("", packs.length); //$NON-NLS-1$ List result = new ArrayList(); for (int i = 0; i < packs.length; i++) { if ( ! packs[i].isReadOnly()) result.addAll(analyze(packs[i], new SubProgressMonitor(pm, 1))); else pm.worked(1); } return result; } finally { pm.done(); } } private int countStrings() { int found = 0; if (fElements != null) { for (int i = 0; i < fElements.length; i++) found += fElements[i].count; } return found; } private NonNLSElement analyze(ICompilationUnit cu) throws CoreException { int count = countNonExternalizedStrings(cu); if (count == 0) return null; else return new NonNLSElement(cu, count); } private int countNonExternalizedStrings(ICompilationUnit cu) throws CoreException { try { NLSLine[] lines = NLSScanner.scan(cu); int result = 0; for (int i = 0; i < lines.length; i++) { result += countNonExternalizedStrings(lines[i]); } return result; } catch (InvalidInputException e) { throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR, Messages.format(ActionMessages.FindStringsToExternalizeAction_error_cannotBeParsed, cu.getElementName()), e )); } } private int countNonExternalizedStrings(NLSLine line) { int result = 0; NLSElement[] elements = line.getElements(); for (int i = 0; i < elements.length; i++) { if ( ! elements[i].hasTag()) result++; } return result; } /** * returns <code>List</code> of <code>IPackageFragments</code>, <code>IPackageFragmentRoots</code> or * <code>IJavaProjects</code> (all entries are of the same kind) */ private static List getSelectedElementList(IStructuredSelection selection) { if (selection == null) return null; return selection.toList(); } //-------private classes -------------- private static class NonNLSListDialog extends ListDialog { private static final int OPEN_BUTTON_ID = IDialogConstants.CLIENT_ID + 1; private Button fOpenButton; NonNLSListDialog(Shell parent, NonNLSElement[] input, int count) { super(parent); setInput(Arrays.asList(input)); setTitle(ActionMessages.FindStringsToExternalizeAction_dialog_title); setMessage(Messages.format(ActionMessages.FindStringsToExternalizeAction_non_externalized, new Object[] { new Integer(count) } )); setContentProvider(new ArrayContentProvider()); setLabelProvider(createLabelProvider()); } public void create() { setShellStyle(SWT.DIALOG_TRIM| SWT.RESIZE| SWT.MIN); super.create(); } protected Point getInitialSize() { return getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT, true); } protected Control createDialogArea(Composite parent) { Composite result = (Composite) super.createDialogArea(parent); getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (fOpenButton != null) { fOpenButton.setEnabled( ! getTableViewer().getSelection().isEmpty()); } } } ); getTableViewer().getTable().addSelectionListener(new SelectionAdapter() { public void widgetDefaultSelected(SelectionEvent e) { NonNLSElement element = (NonNLSElement) e.item.getData(); openWizard(element.cu); } } ); getTableViewer().getTable().setFocus(); applyDialogFont(result); return result; } protected void createButtonsForButtonBar(Composite parent) { fOpenButton = createButton(parent, OPEN_BUTTON_ID, ActionMessages.FindStringsToExternalizeAction_button_label, true); fOpenButton.setEnabled(false); //looks like a 'close' but it a 'cancel' createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CLOSE_LABEL, false); } protected void buttonPressed(int buttonId) { if (buttonId != OPEN_BUTTON_ID) { super.buttonPressed(buttonId); return; } ISelection s = getTableViewer().getSelection(); if (s instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) s; if (ss.getFirstElement() instanceof NonNLSElement) openWizard(((NonNLSElement) ss.getFirstElement()).cu); } } private void openWizard(ICompilationUnit unit) { try { if (unit != null && unit.exists()) { NLSRefactoring refactoring = NLSRefactoring.create(unit); if (refactoring != null) new RefactoringStarter().activate(refactoring, new ExternalizeWizard(refactoring), getShell(), ActionMessages.ExternalizeStringsAction_dialog_title, true); } } catch (JavaModelException e) { ExceptionHandler.handle(e, ActionMessages.FindStringsToExternalizeAction_dialog_title, ActionMessages.FindStringsToExternalizeAction_error_message); } } private static LabelProvider createLabelProvider() { return new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT) { public String getText(Object element) { NonNLSElement nlsel = (NonNLSElement) element; String elementName = ResourceUtil.getResource(nlsel.cu).getFullPath().toString(); return Messages.format( ActionMessages.FindStringsToExternalizeAction_foundStrings, new Object[] { new Integer(nlsel.count), elementName } ); } public Image getImage(Object element) { return super.getImage(((NonNLSElement) element).cu); } }; } /* * @see org.eclipse.jface.window.Window#configureShell(Shell) */ protected void configureShell(Shell newShell) { super.configureShell(newShell); PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, IJavaHelpContextIds.NONNLS_DIALOG); } } private static class NonNLSElement { ICompilationUnit cu; int count; NonNLSElement(ICompilationUnit cu, int count) { this.cu = cu; this.count = count; } } private String getDialogTitle() { return ActionMessages.FindStringsToExternalizeAction_dialog_title; } |
| |||
private void showResults() { if (noStrings()) MessageDialog.openInformation(getShell(), getDialogTitle(), ActionMessages.FindStringsToExternalizeAction_noStrings); else new NonNLSListDialog(getShell(), fElements, countStrings()).open(); } private boolean noStrings() { if (fElements != null) { for (int i = 0; i < fElements.length; i++) { if (fElements[i].count != 0) return false; } } return true; } /* * returns List of Strings */ private List analyze(IPackageFragment pack, IProgressMonitor pm) throws CoreException { try { if (pack == null) return new ArrayList(0); ICompilationUnit[] cus = pack.getCompilationUnits(); pm.beginTask("", cus.length); //$NON-NLS-1$ pm.setTaskName(pack.getElementName()); List l = new ArrayList(cus.length); for (int i = 0; i < cus.length; i++) { pm.subTask(cus[i].getElementName()); NonNLSElement element = analyze(cus[i]); if (element != null) l.add(element); pm.worked(1); if (pm.isCanceled()) throw new OperationCanceledException(); } return l; } finally { pm.done(); } } /* * returns List of Strings */ private List analyze(IPackageFragmentRoot sourceFolder, IProgressMonitor pm) throws CoreException { try { IJavaElement[] children = sourceFolder.getChildren(); pm.beginTask("", children.length); //$NON-NLS-1$ pm.setTaskName(sourceFolder.getElementName()); List result = new ArrayList(); for (int i = 0; i < children.length; i++) { IJavaElement iJavaElement = children[i]; if (iJavaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment pack = (IPackageFragment) iJavaElement; if ( !pack.isReadOnly()) result.addAll(analyze(pack, new SubProgressMonitor(pm, 1))); else pm.worked(1); } else pm.worked(1); } return result; } finally { pm.done(); } } /* * returns List of Strings */ private List analyze(IJavaProject project, IProgressMonitor pm) throws CoreException { try { IPackageFragment[] packs = project.getPackageFragments(); pm.beginTask("", packs.length); //$NON-NLS-1$ List result = new ArrayList(); for (int i = 0; i < packs.length; i++) { if ( !packs[i].isReadOnly()) result.addAll(analyze(packs[i], new SubProgressMonitor(pm, 1))); else pm.worked(1); } return result; } finally { pm.done(); } } private int countStrings() { int found = 0; if (fElements != null) { for (int i = 0; i < fElements.length; i++) found += fElements[i].count; } return found; } private NonNLSElement analyze(ICompilationUnit cu) throws CoreException { int count = countNonExternalizedStrings(cu); if (count == 0) return null; else return new NonNLSElement(cu, count); } private int countNonExternalizedStrings(ICompilationUnit cu) throws CoreException { try { NLSLine[] lines = NLSScanner.scan(cu); int result = 0; for (int i = 0; i < lines.length; i++) { result += countNonExternalizedStrings(lines[i]); } return result; } catch (InvalidInputException e) { throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR, Messages.format(ActionMessages.FindStringsToExternalizeAction_error_cannotBeParsed, cu.getElementName()), e)); } } private int countNonExternalizedStrings(NLSLine line) { int result = 0; NLSElement[] elements = line.getElements(); for (int i = 0; i < elements.length; i++) { if ( !elements[i].hasTag()) result++; } return result; } /** * returns <code>List</code> of <code>IPackageFragments</code>, <code>IPackageFragmentRoots</code> or * <code>IJavaProjects</code> (all entries are of the same kind) */ private static List getSelectedElementList(IStructuredSelection selection) { if (selection == null) return null; return selection.toList(); } //-------private classes -------------- private static class NonNLSListDialog extends ListDialog { private static final int OPEN_BUTTON_ID = IDialogConstants.CLIENT_ID + 1; private Button fOpenButton; NonNLSListDialog(Shell parent, NonNLSElement[] input, int count) { super(parent); setInput(Arrays.asList(input)); setTitle(ActionMessages. [[#variablec14f49c0]]); setMessage(Messages.format(ActionMessages.FindStringsToExternalizeAction_non_externalized, new Object[] { new Integer(count) } )); setContentProvider(new ArrayContentProvider()); setLabelProvider(createLabelProvider()); } public void create() { setShellStyle(SWT.DIALOG_TRIM|SWT.RESIZE|SWT.MIN); super.create(); } protected Point getInitialSize() { return getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT, true); } protected Control createDialogArea(Composite parent) { Composite result = (Composite) super.createDialogArea(parent); getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (fOpenButton != null) { fOpenButton.setEnabled( !getTableViewer().getSelection().isEmpty()); } } } ); getTableViewer().getTable().addSelectionListener(new SelectionAdapter() { public void widgetDefaultSelected(SelectionEvent e) { NonNLSElement element = (NonNLSElement) e.item.getData(); openWizard(element.cu); } } ); getTableViewer().getTable().setFocus(); applyDialogFont(result); return result; } protected void createButtonsForButtonBar(Composite parent) { fOpenButton = createButton(parent, OPEN_BUTTON_ID, ActionMessages.FindStringsToExternalizeAction_button_label, true); fOpenButton.setEnabled(false); //looks like a 'close' but it a 'cancel' createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CLOSE_LABEL, false); } protected void buttonPressed(int buttonId) { if (buttonId != OPEN_BUTTON_ID) { super.buttonPressed(buttonId); return; } ISelection s = getTableViewer().getSelection(); if (s instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) s; if (ss.getFirstElement() instanceof NonNLSElement) openWizard(((NonNLSElement) ss.getFirstElement()).cu); } } private void openWizard(ICompilationUnit unit) { try { if (unit != null && unit.exists()) { NLSRefactoring refactoring = NLSRefactoring.create(unit); if (refactoring != null) new RefactoringStarter().activate(refactoring, new ExternalizeWizard(refactoring), getShell(), ActionMessages.ExternalizeStringsAction_dialog_title, true); } } catch (JavaModelException e) { ExceptionHandler.handle(e, ActionMessages.FindStringsToExternalizeAction_dialog_title, ActionMessages.FindStringsToExternalizeAction_error_message); } } private static LabelProvider createLabelProvider() { return new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT) { public String getText(Object element) { NonNLSElement nlsel = (NonNLSElement) element; String elementName = ResourceUtil.getResource(nlsel.cu).getFullPath().toString(); return Messages.format(ActionMessages.FindStringsToExternalizeAction_foundStrings, new Object[] { new Integer(nlsel.count), elementName } ); } public Image getImage(Object element) { return super.getImage(((NonNLSElement) element).cu); } }; } /* * @see org.eclipse.jface.window.Window#configureShell(Shell) */ protected void configureShell(Shell newShell) { super.configureShell(newShell); PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, IJavaHelpContextIds.NONNLS_DIALOG); } } private static class NonNLSElement { ICompilationUnit cu; int count; NonNLSElement(ICompilationUnit cu, int count) { this.cu = cu; this.count = count; } } private String getDialogTitle() { return ActionMessages.FindStringsToExternalizeAction_dialog_title; } |
CloneAbstraction |
Parameter Index | Clone Instance | Parameter Name | Value |
---|---|---|---|
1 | 1 | [[#c14f49c0]] | ExternalizeStringsAction_dialog_title |
1 | 2 | [[#c14f49c0]] | FindStringsToExternalizeAction_dialog_title |