aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/lowagie/tools/CvsLogParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/lowagie/tools/CvsLogParser.java')
-rw-r--r--src/main/java/com/lowagie/tools/CvsLogParser.java138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/main/java/com/lowagie/tools/CvsLogParser.java b/src/main/java/com/lowagie/tools/CvsLogParser.java
deleted file mode 100644
index 39181f1..0000000
--- a/src/main/java/com/lowagie/tools/CvsLogParser.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * $Id: CvsLogParser.java,v 1.5 2006/05/22 11:00:30 blowagie Exp $
- * $Name: $
- *
- * This code is free software. It may only be copied or modified
- * if you include the following copyright notice:
- *
- * This code is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * itext@lowagie.com
- */
-package com.lowagie.tools;
-
-import java.io.BufferedReader;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.StreamTokenizer;
-
-import java.util.Enumeration;
-
-/**
- * If you get a changelog from CVS, for instance:
- * cvs -d:ext:blowagie@itext.cvs.sourceforge.net:/cvsroot/itext log -d ">2005-07-29"
- * you get an overview that contains all the changes.
- * With this class, you can parse out the important entries.
- *
- * @author blowagie
- */
-public class CvsLogParser implements Enumeration {
-
- /** the tokenizer object. */
- protected StreamTokenizer st;
-
- /** indicates if the current token contains changes. */
- protected boolean changes = false;
-
- /** indicates if the tokenizer has more tokens. */
- protected boolean more = false;
-
- /**
- * @param file
- * @throws FileNotFoundException
- */
- public CvsLogParser(String file) throws FileNotFoundException {
- BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
- st = new StreamTokenizer(r);
- st.eolIsSignificant(true);
- st.ordinaryChar('/');
- st.ordinaryChar('\'');
- more = true;
- }
-
- /**
- * @see java.util.Enumeration#hasMoreElements()
- */
- public boolean hasMoreElements() {
- return more;
- }
-
- /**
- * Returns the next token in the log file.
- * @see java.util.Enumeration#nextElement()
- */
- public Object nextElement(){
- StringBuffer token = new StringBuffer();
- StringBuffer line = new StringBuffer();
- boolean moreToken = true;
- changes = false;
- try {
- while (more && moreToken) {
- st.nextToken();
- switch(st.ttype) {
- case StreamTokenizer.TT_EOF:
- more = false;
- case StreamTokenizer.TT_EOL:
- token.append(line.toString());
- if (line.toString().endsWith("=============================================================================")) {
- moreToken = false;
- }
- else {
- line = new StringBuffer("\n");
- }
- break;
- case StreamTokenizer.TT_WORD:
- line.append(st.sval);
- line.append(" ");
- break;
- case StreamTokenizer.TT_NUMBER:
- if (st.nval > 0 && line.toString().endsWith("selected revisions :")) {
- changes = true;
- }
- line.append(st.nval);
- break;
- default:
- line.append((char) st.ttype);
- }
- }
- return token.toString();
- }
- catch(IOException ioe) {
- more = false;
- return "";
- }
- }
-
- /**
- * Indicates if the current token is one that contains changes.
- * @return true if the token is relevant
- */
- private boolean hasChanged() {
- return changes;
- }
-
-
- /**
- * Parses a log form CVS.
- * @param args the path to the logfile
- */
- public static void main(String[] args) {
- try {
- CvsLogParser p = new CvsLogParser(args[0]);
- String token;
- while (p.hasMoreElements()) {
- token = (String) p.nextElement();
- if (p.hasChanged()) {
- System.out.println(token);
- }
- }
- }
- catch(Exception e) {
- e.printStackTrace();
- }
- }
-}