Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.apache.maven.scm.provider.hg.command.changelog;
  
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 
 import java.util.Date;
 import java.util.List;

Author(s):
thurner rupert
 
 public class HgChangeLogConsumer
     extends HgConsumer
 {
 
     private static final String TIME_PATTERN = "EEE MMM dd HH:mm:ss yyyy Z";
 
     private static final String REVNO_TAG = "changeset: ";
 
     private static final String TAG_TAG = "tag:         ";
 
     private static final String AUTHOR_TAG = "user: ";
 
     private static final String TIME_STAMP_TOKEN = "date: ";
 
     private static final String MESSAGE_TOKEN = "description:";
 
     private static final String MERGED_TOKEN = "merged: ";
 
     private static final String FILES_TOKEN = "files: ";
 
     private String prevLine = "";
 
     private String prevPrevLine = "";
 
     private ArrayList logEntries = new ArrayList();
 
     private ChangeSet currentChange;
 
     private ChangeSet lastChange;
 
     private boolean isMergeEntry;
 
     private String currentRevision;
 
     private String currentTag// don't know what to do with this
 
     private String userDatePattern;
 
     private boolean spoolingComments;
 
     private List currentComment = null;
 
     public HgChangeLogConsumerScmLogger loggerString userDatePattern )
     {
         superlogger );
 
         this. = userDatePattern;
     }
 
     public List getModifications()
     {
         return ;
     }
 
     public void consumeLineString line )
     {
 
         // override default behaviour which tries to pick through things for some standard messages.  that
         // does not apply here
         doConsumenullline );
     }
 
     public void doConsumeScmFileStatus statusString line )
     {
        String tmpLine = line;
        // If current status == null then this is a new entry
        // If the line == "" and previous line was "", then this is also a new entry
        if ( ( line.equals"" ) && ( .equals"" ) && .equals"" ) ) ) ||  == null )
        {
            if (  != null )
            {
                StringBuffer comment = new StringBuffer();
                for ( int i = 0; i < .size() - 1; i++ )
                {
                    comment.append.geti ) );
                    if ( i + 1 < .size() - 1 )
                    {
                        comment.append'\n' );
                    }
                }
                .setCommentcomment.toString() );
            }
             = false;
            //If last entry was part a merged entry
            if (  &&  != null )
            {
                String comment = .getComment();
                comment += "\n[MAVEN]: Merged from " + .getAuthor();
                comment += "\n[MAVEN]:    " + .getDateFormatted();
                comment += "\n[MAVEN]:    " + .getComment();
                .setCommentcomment );
            }
            //Init a new changeset
             = new ChangeSet();
            .setFilesnew ArrayList() );
            .add );
            //Reset memeber vars
             = new ArrayList();
             = "";
             = false;
        }
        if (  )
        {
            .addline );
        }
        else if ( line.startsWith ) )
        {
             = true;
        }
        else if ( line.startsWith ) )
        {
            //This is part of lastChange and is not a separate log entry
             = true;
            .remove );
            if ( .size() > 0 )
            {
                 = (ChangeSet.get.size() - 1 );
            }
            else
            {
                getLogger().warn"First entry was unexpectedly a merged entry" );
                 = null;
            }
        }
        else if ( line.startsWith ) )
        {
            tmpLine = line.substring.length() );
            tmpLine = tmpLine.trim();
             = tmpLine;
        }
        else if ( line.startsWith ) )
        {
            tmpLine = line.substring.length() ).trim();
             = tmpLine;
        }
        else if ( line.startsWith ) )
        {
            tmpLine = line.substring.length() );
            tmpLine = tmpLine.trim();
            .setAuthortmpLine );
        }
        else if ( line.startsWith ) )
        {
            // TODO: FIX Date Parsing to match Mercurial or fix with template
            tmpLine = line.substring.length() ).trim();
            Date date = parseDatetmpLine. );
            .setDatedate );
        }
        else if ( line.startsWith ) )
        {
            tmpLine = line.substring.length() ).trim();
            String[] files = tmpLine.split" " );
            for ( int i = 0; i < files.lengthi++ )
            {
                String file = files[i];
                ChangeFile changeFile = new ChangeFilefile );
                .addFilechangeFile );
            }
        }
        else
        {
            getLogger().warn"Could not figure out: " + line );
        }
        // record previous line
         = line;
         = ;
    }
New to GrepCode? Check out our FAQ X