Bug 536673 - Internal Error on copy/paste of the file with a Long number
in the name

Now we can copy/paste projects, files and folders named like
111111111111111111111111111111111113.

Change-Id: Ibf32fc4b0a278a8a3fadf2bb6f677ca184543f11
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java
index 585cb97..fdc4dee 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java
@@ -12,6 +12,7 @@
  *******************************************************************************/
 package org.eclipse.jdt.internal.corext.refactoring.reorg;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -2547,8 +2548,14 @@
 			Matcher m= p.matcher(fileNameNoExtension);
 			if (m.find()) {
 				// String ends with a number: increment it by 1
-				int newNumber= Integer.parseInt(m.group()) + 1;
-				String numberStr= m.replaceFirst(Integer.toString(newNumber));
+				String numberStr;
+				BigDecimal newNumber = null;
+				try {
+					newNumber = new BigDecimal(m.group()).add(new BigDecimal(1));
+					numberStr = m.replaceFirst(newNumber.toPlainString());
+				} catch (NumberFormatException e) {
+					numberStr = m.replaceFirst("2"); //$NON-NLS-1$
+				}
 				return numberStr + fileExtension;
 			} else {
 				return fileNameNoExtension + "2" + fileExtension; //$NON-NLS-1$