Fixes parsing of versions with multiple underscores
diff --git a/org.eclipse.virgo.build.p2tools/src/main/java/org/eclipse/virgo/build/p2tools/convertor/P2toIvyAction.java b/org.eclipse.virgo.build.p2tools/src/main/java/org/eclipse/virgo/build/p2tools/convertor/P2toIvyAction.java
index 436653d..33486c6 100644
--- a/org.eclipse.virgo.build.p2tools/src/main/java/org/eclipse/virgo/build/p2tools/convertor/P2toIvyAction.java
+++ b/org.eclipse.virgo.build.p2tools/src/main/java/org/eclipse/virgo/build/p2tools/convertor/P2toIvyAction.java
@@ -33,9 +33,9 @@
             	continue;
             }
         	String nameVersion = bundle.getName().substring(0, bundle.getName().lastIndexOf("."));
-			String[] pair = nameVersion.split("_");
-            String bundleName = pair[0];
-            String bundleVersion = pair[1];
+			String[] parts = nameVersion.split("_");
+            String bundleName = parts[0];
+            String bundleVersion = createBundleVersion(parts);
             if (!processed.contains(nameVersion)) {
             	File bundleDir = createDirectory(targetIvyRepo, nameVersion);
             	File targetDir = createDirectory(bundleDir, "target");
@@ -62,11 +62,19 @@
         generateBuildVersionsFile(buildVersionsFile, processed);
         System.out.println("Successfully generated build.versions for mirrored artifacts.");
     }
+
+    String createBundleVersion(String[] parts) {
+        String bundleVersion = parts[1];
+        for (int i = 2; i < parts.length; i++) {
+            bundleVersion += "_" + parts[i];
+        }
+        return bundleVersion;
+    }
     
     public void generateBuildVersionsFile(File buildVersions, Set<String> processed) throws IOException {
     	StringBuilder builder = new StringBuilder();
     	for (String nameVersionPair : processed) {
-    		builder.append(nameVersionPair.replaceAll("_", "=") + EOL);
+    		builder.append(nameVersionPair.replaceFirst("_", "=") + EOL);
     	}
     	writeToFile(buildVersions, builder.toString());
     }
diff --git a/org.eclipse.virgo.build.p2tools/src/test/java/org/eclipse/virgo/build/p2tools/convertor/P2toIvyActionTests.java b/org.eclipse.virgo.build.p2tools/src/test/java/org/eclipse/virgo/build/p2tools/convertor/P2toIvyActionTests.java
new file mode 100644
index 0000000..7936034
--- /dev/null
+++ b/org.eclipse.virgo.build.p2tools/src/test/java/org/eclipse/virgo/build/p2tools/convertor/P2toIvyActionTests.java
@@ -0,0 +1,16 @@
+package org.eclipse.virgo.build.p2tools.convertor;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class P2toIvyActionTests {
+    P2toIvyAction action = new P2toIvyAction();
+    
+    @Test
+    public void testVersionCreate() {
+        String[] parts = {"bsn", "major.minor.micro", "qualifier", "1.2.3"};
+        String version = this.action.createBundleVersion(parts);
+        assertEquals("major.minor.micro_qualifier_1.2.3", version);
+    }
+}