[122187] Generate reports of fixed bugs from CVS
diff --git a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/lib/rlog.jar b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/lib/rlog.jar
index 3938224..d7d39dc 100644
--- a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/lib/rlog.jar
+++ b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/lib/rlog.jar
Binary files differ
diff --git a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/BugzillaUtil.java b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/BugzillaUtil.java
index 3ecdafa..722d851 100644
--- a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/BugzillaUtil.java
+++ b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/BugzillaUtil.java
@@ -49,7 +49,6 @@
 
 	public static final String BUGZILLA_ASSIGNTO = "assignedTo";
 
-	private static int sysoutline = 0;
 
 	/**
 	 * Connects to the bugzilla and gets required datas from the bug's page
@@ -70,7 +69,7 @@
 				// System.out.println("get data from cache for bug : "+bugId);
 				return (Map) bugzillaCache.get(bugId);
 			}
-			consoleLogBug(bugId);
+			Trace.consoleLogBug(bugId);
 			WebConversation wc = new WebConversation();
 			WebRequest request = new GetMethodWebRequest(BUGZILLA_URL + bugId);
 			response = wc.getResponse(request);
@@ -108,17 +107,11 @@
 			}
 
 		} catch (Exception e) {
-			consoleLogBug(" BugzillaException["+bugId+"]");
+			Trace.consoleLogBug(" BugzillaException["+bugId+"]");
 			//e.printStackTrace();
 		}
 
 		return bugzillaData;
 	}
 
-	public static void consoleLogBug(String bugInfo) {
-		if ((sysoutline++ % 8) == 0)
-			System.out.println("");
-		System.out.print(bugInfo+ " ");
-	}
-
 }
diff --git a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSBugLog.java b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSBugLog.java
index 31ab497..104fe69 100644
--- a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSBugLog.java
+++ b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSBugLog.java
@@ -132,7 +132,7 @@
 						Integer.parseInt(bugNo);
 						uniqueBugNos.add(bugNo);
 					} catch (Exception e) {
-						BugzillaUtil.consoleLogBug("NoBugFound["+bugNo+"]");
+						//BugzillaUtil.consoleLogBug("NoBugFound["+bugNo+"]");
 					}
 				}
 			}
@@ -162,7 +162,18 @@
 		bugLogDocument.getBugLog().setToBuild(getToBuild());
 		setTargetMileStones(target);
 		setStatuses(status);
-
+		
+		Iterator stIterator = statuses.keySet().iterator();
+		while (stIterator.hasNext()) {
+			String st = (String) stIterator.next();
+			Trace.trace(Trace.FINEST,"\nIncluding bugs with status:" + st	);	
+		}
+		stIterator = targetMileStones.keySet().iterator();
+		while (stIterator.hasNext()) {
+			String st = (String) stIterator.next();
+			Trace.trace(Trace.FINEST,"\nIncluding bugs with target:" + st	);	
+		}
+		
 		Set bugNos = filterRlogDocmentAndGetUniqueBugNos();
 
 		Iterator it = bugNos.iterator();
diff --git a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRevision.java b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRevision.java
index 8799be0..c313d47 100644
--- a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRevision.java
+++ b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRevision.java
@@ -5,7 +5,9 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.StringTokenizer;
 
+import org.apache.xml.utils.StringToIntTable;
 import org.eclipse.wtp.releng.cvstools.RevisionDocument;
 
 
@@ -122,7 +124,7 @@
 				revision.setBugzillaTargetMilestone((String)bugzillaData.get(BugzillaUtil.BUGZILLA_TARGET_MILESTONE));
 				revision.setBugzillaVersion((String)bugzillaData.get(BugzillaUtil.BUGZILLA_VERSION));
 			}catch (Exception e) {
-				BugzillaUtil.consoleLogBug("NoBugRevision["+revision.getComments()+"]");
+				//BugzillaUtil.consoleLogBug("NoBugRevision["+revision.getComments()+"]");
 			}	
 			
 		}
@@ -146,8 +148,18 @@
 		else if(comment != null && comment.indexOf('[') >= 0 ){
 			int start = comment.indexOf('[');
 			int end = comment.indexOf(']');
+			String content = "";
 			if( start >= 0 && end > start)
-				return comment.substring(start+1,end);
+				content = comment.substring(start+1,end);
+			String[] bugs = content.split(",|\\s");
+			for (int i = 0; i < bugs.length; i++) {
+				String aBug = bugs[i];
+				try{
+					Integer.parseInt(aBug);
+					return aBug;
+				}catch (Exception e) {
+				}
+			}
 		}
 		return null;
 
diff --git a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRlog.java b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRlog.java
index 8f20a1b..365b80b 100644
--- a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRlog.java
+++ b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/CVSRlog.java
@@ -625,9 +625,9 @@
 
 			if (stateKeyword.equalsIgnoreCase(CVS_REVISION_DEAD)
 					&& message.indexOf("was initially added on branch") != -1) {
-				Trace.trace(Trace.FINEST,
-						"skipping branch addition activity for "
-								+ nextModification);
+				//Trace.trace(Trace.FINEST,
+				//		"skipping branch addition activity for "
+				//				+ nextModification);
 				// this prevents additions to a branch from showing up as action
 				// "deleted" from head
 				continue;
diff --git a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Main.java b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Main.java
index 83aded1..dccc853 100644
--- a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Main.java
+++ b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Main.java
@@ -20,6 +20,10 @@
 		util.setCvsRoot(args[0]);
 		
 		try {
+			Trace.trace(Trace.FINEST,"Processing cvs rlog");
+			Trace.trace(Trace.FINEST,"From: Date[" + args[1] + "] Build[" + args[8]+"]");
+			Trace.trace(Trace.FINEST,"To:   Date[" + args[2] + "] Build[" +args[9]+"]");
+			
 			Date from = CVSRlog.parseCVSDate(args[1]);
 			Date to = CVSRlog.parseCVSDate(args[2]);
 			util.setTag(args[3]);
@@ -28,6 +32,7 @@
 			RlogDocument rlogDocument = util.getRlog(from, to);
 			rlogDocument.save(new File(args[4]), new XmlOptions().setSavePrettyPrint().setSavePrettyPrintIndent(4));
 			
+			Trace.trace(Trace.FINEST,"Processing bugzilla");
 			
 			cvsBugLog.setFromBuild(args[8]);
 			cvsBugLog.setToBuild(args[9]);
diff --git a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Trace.java b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Trace.java
index ace8c6c..582c519 100644
--- a/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Trace.java
+++ b/archive/releng.builder/tools/cvstools/org.eclipse.wtp.releng.cvs.tools/src/org/eclipse/wtp/releng/cvslog/tools/Trace.java
@@ -19,6 +19,7 @@
 	public static byte WARNING = 1;
 	public static byte SEVERE = 2;
 	public static byte FINEST = 3;
+	public static int sysoutline = 0;
 
 	/**
 	 * Trace constructor comment.
@@ -52,4 +53,11 @@
 //		if (t != null)
 //			t.printStackTrace();
 	}
+
+	public static void consoleLogBug(String bugInfo) {
+		if ((sysoutline++ % 52) == 0)
+			System.out.println("");
+		//System.out.print(bugInfo+ " ");
+		System.out.print(".");
+	}
 }
\ No newline at end of file