MoinInfoConverter: Set the revcomment as versionComment on the page; Parse
the origauthor and set it on the page as origAuthor.
diff --git a/src/main/java/com/atlassian/uwc/converters/moinmoin/MoinInfoConverter.java b/src/main/java/com/atlassian/uwc/converters/moinmoin/MoinInfoConverter.java
index e35b69b..45632ef 100644
--- a/src/main/java/com/atlassian/uwc/converters/moinmoin/MoinInfoConverter.java
+++ b/src/main/java/com/atlassian/uwc/converters/moinmoin/MoinInfoConverter.java
@@ -1,16 +1,15 @@
 package com.atlassian.uwc.converters.moinmoin;
 
+import java.io.File;
+import java.nio.charset.Charset;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import com.atlassian.uwc.ui.FileUtils;
 import org.apache.log4j.Logger;
 
 import com.atlassian.uwc.converters.BaseConverter;
@@ -20,12 +19,14 @@
 
 	final Logger log = Logger.getLogger(this.getClass());
 	
-	final Pattern date = Pattern.compile("\\{timestamp:([^}]*)\\}", Pattern.MULTILINE);
-	final Pattern username = Pattern.compile("\\{userid:([^}]*)\\}", Pattern.MULTILINE);
+	final Pattern date = Pattern.compile("\\{timestamp:([^}]*)\\}\\n", Pattern.MULTILINE);
+	final Pattern username = Pattern.compile("\\{userid:([^}]*)\\}\\n", Pattern.MULTILINE);
 	// Use reluctant quantifier for '.' in the revcomment, to be able to handle revcomments with curly braces inside
 	final Pattern revInfoPattern = Pattern.compile("\\{revcomment:(.*?)\\}\\n", Pattern.MULTILINE);
+	// Pattern for parsing the origauthor (injected by the MoinmoinExporter), so it can be added to the page metadata
+	final Pattern origAuthorPattern = Pattern.compile("\\{origauthor:([^}]*)\\}\\n", Pattern.MULTILINE);
 	final Pattern catPattern = Pattern.compile("\\[{2}CategoryRoot\\/([^\\]]*)\\]{2}", Pattern.MULTILINE);
-	
+
 	public MoinInfoConverter() {
 		log.debug("Loaded MoinInfoConverter" + this.toString());
 	}
@@ -38,6 +39,7 @@
 		String username = getUser(input);
 		Date timestamp = getDate(input);
 		String revInfo = getRevinfo(input);
+		String origAuthor = getOrigAuthor(input);
 		String converted = cleanUserDate(input);
 		
 		addKeywords(input, page);
@@ -46,8 +48,9 @@
 				
 		if (username != null) page.setAuthor(username);
 		if (timestamp != null) page.setTimestamp(timestamp);
-		
-		// if (revInfo != null) page.set..... //XXX not possible to set the log here 
+		if (revInfo != null) page.setVersionComment(revInfo);
+		if (origAuthor != null) page.setOrigAuthor(origAuthor);
+
 		page.setConvertedText(converted);
 		log.debug("Adding User and Date metadata - Complete");
 	}
@@ -73,7 +76,15 @@
 		return null;
 	}
 
-	
+	private String getOrigAuthor(String input) {
+		Matcher origAuthorFinder = origAuthorPattern.matcher(input);
+		if (origAuthorFinder.find()){
+			return origAuthorFinder.group(1);
+		}
+		return null;
+	}
+
+
 	protected String getUser(String input) {
 		Matcher userFinder = username.matcher(input);
 		if (userFinder.find()) {
@@ -112,8 +123,11 @@
 		if(x.find()){
 			input = x.replaceFirst("");
 		}
+		Matcher origAuthorFinder = origAuthorPattern.matcher(input);
+		if (origAuthorFinder.find()) {
+			input = origAuthorFinder.replaceFirst("");
+		}
 		return input;
 	}
 
-	
 }