added optional branch names in the output. BLD200207190200
authorralphk@netbeans.org
Thu, 18 Jul 2002 18:43:46 +0000
changeset 955eeaaf60cdaf8
parent 954 b90afaff1ce2
child 956 0c3dc04a558b
added optional branch names in the output.
javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogAction.java
javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogDisplayer.java
javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogProcessor.java
javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogUtils.java
javacvs/changelog/src/org/netbeans/modules/changelog/LogInfoRevision.java
javacvs/changelog/src/org/netbeans/modules/changelog/LogPrinter_HTML.java
javacvs/changelog/src/org/netbeans/modules/changelog/RevisionsGroup.java
javacvs/changelog/src/org/netbeans/modules/changelog/settings/Bundle.properties
javacvs/changelog/src/org/netbeans/modules/changelog/settings/ChangeLogSettings.java
javacvs/changelog/src/org/netbeans/modules/changelog/settings/ChangeLogSettingsBeanInfo.java
javacvs/changelog/src/org/netbeans/modules/changelog/wizard/Bundle.properties
javacvs/changelog/src/org/netbeans/modules/changelog/wizard/OutputPanel.form
javacvs/changelog/src/org/netbeans/modules/changelog/wizard/OutputPanel.java
     1.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogAction.java	Thu Jul 18 17:48:21 2002 +0000
     1.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogAction.java	Thu Jul 18 18:43:46 2002 +0000
     1.3 @@ -74,7 +74,7 @@
     1.4      
     1.5      private void doChangeLog(NbJavaCvsFileSystem fs, FileObject[] fos) {
     1.6             CvsLog.LogImpl stImpl = (CvsLog.LogImpl)fs.createLog();
     1.7 -           stImpl.setNoTags(true);
     1.8 +           stImpl.setNoTags(!processor.isIncludeBranchNames());
     1.9             stImpl.setUserFilter(processor.getUser());
    1.10             stImpl.setDateFilter(processor.getDateRange());
    1.11             stImpl.setRevisionFilter(processor.getRevisionRange());
    1.12 @@ -113,7 +113,7 @@
    1.13          wd.putProperty("WizardPanel_contentNumbered", Boolean.TRUE);
    1.14          wd.putProperty("WizardPanel_contentData", names);
    1.15          
    1.16 -        wd.setButtonListener(new ActionListener() {
    1.17 +/*        wd.setButtonListener(new ActionListener() {
    1.18              public void actionPerformed(ActionEvent evt) {
    1.19                  if (wd != null) {
    1.20                      if (wd.getValue().equals(WizardDescriptor.FINISH_OPTION)) {
    1.21 @@ -125,11 +125,18 @@
    1.22                  }
    1.23              }
    1.24          });
    1.25 -        
    1.26 +  */      
    1.27          final java.awt.Dialog dial = TopManager.getDefault().createDialog(wd);
    1.28 +        final WizardDescriptor desc = wd;
    1.29          SwingUtilities.invokeLater(new Runnable() {
    1.30              public void run() {
    1.31                  dial.show();
    1.32 +                if (desc.getValue().equals(WizardDescriptor.FINISH_OPTION)) {
    1.33 +                    displayer = new ChangeLogDisplayer(processor);
    1.34 +                    ChangeLogAction.super.performAction(nodes);
    1.35 +//                    wd = null;
    1.36 +                    processor = null;
    1.37 +                }
    1.38              }
    1.39          });
    1.40      }
     2.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogDisplayer.java	Thu Jul 18 17:48:21 2002 +0000
     2.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogDisplayer.java	Thu Jul 18 18:43:46 2002 +0000
     2.3 @@ -109,11 +109,32 @@
     2.4          
     2.5      }
     2.6      
     2.7 +    private java.util.List extractBranches(LogInformation info) {
     2.8 +        LinkedList list = new LinkedList();
     2.9 +        if (info.getAllSymbolicNames() != null) {
    2.10 +            Iterator it = info.getAllSymbolicNames().iterator();
    2.11 +            while (it.hasNext()) {
    2.12 +                LogInformation.SymName name = (LogInformation.SymName)it.next();
    2.13 +                // performance related condition??
    2.14 +                if (name.getRevision().indexOf(".0") > 0) { 
    2.15 +                    int[] arr = ChangeLogUtils.convertRevisionToIntArray(name.getRevision());
    2.16 +                    if (arr[arr.length - 2] == 0) {
    2.17 +                        // needs to be performance improved!!!!
    2.18 +                        
    2.19 +                        name.setRevision(ChangeLogUtils.convertIntArrayToRevision(arr).intern());
    2.20 +                        list.add(name);
    2.21 +                    }
    2.22 +                }
    2.23 +            }
    2.24 +        }
    2.25 +        return list;
    2.26 +    }
    2.27 +    
    2.28      public synchronized void showFileInfoGenerated(FileInfoContainer info) {
    2.29          if (info.getClass().equals(LogInformation.class)) {
    2.30              LogInformation lInfo = (LogInformation)info;
    2.31              LogInfoRevision.LogInfoHeader header = createHeader(lInfo);
    2.32 -            
    2.33 +            List branchList = extractBranches(lInfo);
    2.34              boolean include = true;
    2.35              Iterator it =lInfo.getRevisionList().iterator();
    2.36              while (it.hasNext()) {
    2.37 @@ -139,12 +160,35 @@
    2.38                  }
    2.39                  if (processor.messageMatchesFilterPattern(rev.getMessage())) {
    2.40                      LogInfoRevision revision = createRevision(rev, header);
    2.41 +                    revision.setBranch(findBranchInSymNamesList(branchList, revision.getNumber()));
    2.42                      processor.addRevision(revision, rev.getMessage());
    2.43                  }
    2.44              }
    2.45          }
    2.46      }
    2.47 -    
    2.48 +
    2.49 +    /**
    2.50 +     * TODO:
    2.51 +     * can be optimized by first sorting from longest to shortest branch number..
    2.52 +     */
    2.53 +    private String findBranchInSymNamesList(List list, String revisionNumber) {
    2.54 +        Iterator it = list.iterator();
    2.55 +        if (revisionNumber.indexOf('.') == revisionNumber.lastIndexOf('.')) {
    2.56 +            return null;
    2.57 +        }
    2.58 +        String branch = null;
    2.59 +        String longestMatch = "";
    2.60 +        while (it.hasNext()) {
    2.61 +            LogInformation.SymName name = (LogInformation.SymName)it.next();
    2.62 +            if (revisionNumber.startsWith(name.getRevision())) {
    2.63 +                if (name.getRevision().length() > longestMatch.length()) {
    2.64 +                    branch = name.getName();
    2.65 +                    longestMatch = name.getRevision();
    2.66 +                }
    2.67 +            }
    2.68 +        }
    2.69 +        return branch;
    2.70 +    }
    2.71      
    2.72      private void showDialog() {
    2.73          processor.finishProcessing();
    2.74 @@ -172,7 +216,7 @@
    2.75                                             LogInfoRevision.LogInfoHeader header) {
    2.76          LogInfoRevision rev = new LogInfoRevision(header.getFile());
    2.77          rev.setAuthor(jcvsRev.getAuthor());
    2.78 -        rev.setBranches(jcvsRev.getBranches());
    2.79 +//        rev.setBranches(jcvsRev.getBranches());
    2.80          rev.setDate(jcvsRev.getDate());
    2.81          rev.setLines(jcvsRev.getLines());
    2.82          rev.setLogInfoHeader(header);
     3.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogProcessor.java	Thu Jul 18 17:48:21 2002 +0000
     3.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogProcessor.java	Thu Jul 18 18:43:46 2002 +0000
     3.3 @@ -106,6 +106,9 @@
     3.4      /** Holds value of property includeSummary. */
     3.5      private boolean includeSummary;
     3.6      
     3.7 +    /** Holds value of property includeBranchNames. */
     3.8 +    private boolean includeBranchNames;
     3.9 +    
    3.10      /** Creates new ChangeLogDisplayer */
    3.11      public ChangeLogProcessor() {
    3.12          fileObjectMap = new HashMap(10);
    3.13 @@ -117,7 +120,9 @@
    3.14          setViewInBrowser(true);
    3.15          setIncludeSummary(true);
    3.16          setIncludeQueryDescription(true);
    3.17 +        
    3.18          ChangeLogSettings settings = (ChangeLogSettings)SharedClassObject.findObject(ChangeLogSettings.class, true);
    3.19 +        setIncludeBranchNames(settings.isShowBranchesByDefault());
    3.20          String id = settings.getDefaultServerInfo();
    3.21          if (!id.equals("")) {
    3.22              Lookup.Template template = new Lookup.Template(ChangeLogHTMLService.class, id, null);
    3.23 @@ -578,4 +583,18 @@
    3.24          this.includeSummary = includeSummary;
    3.25      }
    3.26      
    3.27 +    /** Getter for property includeBranchNames.
    3.28 +     * @return Value of property includeBranchNames.
    3.29 +     */
    3.30 +    public boolean isIncludeBranchNames() {
    3.31 +        return this.includeBranchNames;
    3.32 +    }
    3.33 +    
    3.34 +    /** Setter for property includeBranchNames.
    3.35 +     * @param includeBranchNames New value of property includeBranchNames.
    3.36 +     */
    3.37 +    public void setIncludeBranchNames(boolean includeBranchNames) {
    3.38 +        this.includeBranchNames = includeBranchNames;
    3.39 +    }
    3.40 +    
    3.41  }
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/ChangeLogUtils.java	Thu Jul 18 18:43:46 2002 +0000
     4.3 @@ -0,0 +1,107 @@
     4.4 +/*
     4.5 + *                 Sun Public License Notice
     4.6 + *
     4.7 + * The contents of this file are subject to the Sun Public License
     4.8 + * Version 1.0 (the "License"). You may not use this file except in
     4.9 + * compliance with the License. A copy of the License is available at
    4.10 + * http://www.sun.com/
    4.11 + *
    4.12 + * The Original Code is NetBeans. The Initial Developer of the Original
    4.13 + * Code is Ralph Krueger. 
    4.14 + */
    4.15 +
    4.16 +package org.netbeans.modules.changelog;
    4.17 +
    4.18 +
    4.19 +import java.util.*;
    4.20 +import org.openide.*;
    4.21 +import java.io.*;
    4.22 +
    4.23 +
    4.24 +/**
    4.25 + * A utility class.
    4.26 + * @author  ralph
    4.27 + */
    4.28 +public class ChangeLogUtils {
    4.29 +    
    4.30 +    /** method that converts the string value of the revision into an array of
    4.31 +     * integers for further processing
    4.32 +     */
    4.33 +    public static int[] convertRevisionToIntArray(String revision) {
    4.34 +       StringTokenizer token = new StringTokenizer(revision, ".");
    4.35 +       int[] array = new int[token.countTokens()];
    4.36 +       int index = 0;
    4.37 +       while (token.hasMoreTokens()) {
    4.38 +           String item = token.nextToken();
    4.39 +           try {
    4.40 +              int parsedNumber = Integer.parseInt(item);
    4.41 +              array[index] = parsedNumber;
    4.42 +           } catch (NumberFormatException exc) {
    4.43 +              array[index] = 0;      
    4.44 +           }
    4.45 +           index = index + 1;
    4.46 +       }
    4.47 +       return array;
    4.48 +    }
    4.49 +
    4.50 +    /**
    4.51 +     * converts array of integers to a String conforming to the format of the cvs revisions
    4.52 +     * zero values are ignored. Can be used to shorten the resulting revision.
    4.53 +     */ 
    4.54 +    public static String convertIntArrayToRevision(int[] arr) {
    4.55 +        StringBuffer buffer = new StringBuffer();
    4.56 +        for (int i = 0; i < arr.length; i++) {
    4.57 +            if (arr[i] == 0) {
    4.58 +                continue;
    4.59 +            }
    4.60 +            if (i != 0) {
    4.61 +                buffer.append('.');
    4.62 +            }
    4.63 +            buffer.append(arr[i]);
    4.64 +        }
    4.65 +        return buffer.toString();
    4.66 +    }
    4.67 +    
    4.68 +
    4.69 +    /**
    4.70 +     * @param replMap - expects patterns as keys and replacement values as values
    4.71 +     *  aka ("filePath", "javacvs/build.xml")
    4.72 +     */
    4.73 +    public static String replaceArguments(String original, HashMap replMap) {
    4.74 +        Iterator it = replMap.keySet().iterator();
    4.75 +        while (it.hasNext()) {
    4.76 +            String pattern = (String)it.next();
    4.77 +            String value = (String)replMap.get(pattern);
    4.78 +            pattern = "{" + pattern + "}";
    4.79 +            int index = original.indexOf(pattern);
    4.80 +            if (index >= 0) {
    4.81 +                original = original.substring(0, index) + 
    4.82 +                          value + original.substring(index + pattern.length());
    4.83 +            }
    4.84 +        }
    4.85 +        return original;
    4.86 +    }
    4.87 +    
    4.88 +    private static final char[] charArray = new char[] {'>', '<', '&'};
    4.89 +    private static final String[] stringArray = 
    4.90 +        new String[] { "&gt;", "&lt;", "&amp;"};
    4.91 +    
    4.92 +    public static String escapeString(String original) {
    4.93 +        StringBuffer buffer = new StringBuffer(original);
    4.94 +        int index = 0;
    4.95 +        while (index < buffer.length()) {
    4.96 +            char character = buffer.charAt(index);
    4.97 +            for (int i = 0; i < charArray.length; i++) {
    4.98 +                if (character == charArray[i]) {
    4.99 +                    buffer.deleteCharAt(index);
   4.100 +                    buffer.insert(index, stringArray[i]);
   4.101 +                    index = index + stringArray[i].length();
   4.102 +                    continue;
   4.103 +                }
   4.104 +            }
   4.105 +            index = index + 1;
   4.106 +        }
   4.107 +        return buffer.toString();
   4.108 +    }
   4.109 +    
   4.110 +}
     5.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/LogInfoRevision.java	Thu Jul 18 17:48:21 2002 +0000
     5.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/LogInfoRevision.java	Thu Jul 18 18:43:46 2002 +0000
     5.3 @@ -30,7 +30,7 @@
     5.4      private static final String AUTHOR    = "author";
     5.5      private static final String STATE     = "state";
     5.6      private static final String LINES     = "lines";
     5.7 -    private static final String BRANCHES  = "lines";
     5.8 +    private static final String BRANCH    = "branch";
     5.9      private static final String HEADER    = "header";
    5.10      
    5.11      public LogInfoRevision(File file) {
    5.12 @@ -120,13 +120,22 @@
    5.13          return 0;
    5.14          
    5.15      }
    5.16 +
    5.17 +    /**
    5.18 +     * Returns the branch on which the change was done.
    5.19 +     * Empty String when no branch..
    5.20 +     */
    5.21      
    5.22 -    public String getBranches() {
    5.23 -        return getAttributeNonNull(BRANCHES);
    5.24 +    public String getBranch() {
    5.25 +        return getAttributeNonNull(BRANCH);
    5.26      }
    5.27      
    5.28 -    public void setBranches(String branches) {
    5.29 -        setAttribute(BRANCHES, branches);
    5.30 +    /**
    5.31 +     * Specifies the branch on which the change was done.
    5.32 +     */
    5.33 +    
    5.34 +    public void setBranch(String branch) {
    5.35 +        setAttribute(BRANCH, branch);
    5.36      }
    5.37      
    5.38      /**
     6.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/LogPrinter_HTML.java	Thu Jul 18 17:48:21 2002 +0000
     6.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/LogPrinter_HTML.java	Thu Jul 18 18:43:46 2002 +0000
     6.3 @@ -39,6 +39,8 @@
     6.4      
     6.5      private boolean includeSummary;
     6.6      
     6.7 +    private boolean hasCommonBranch;
     6.8 +    
     6.9      private ChangeLogHTMLService service;
    6.10      
    6.11      public LogPrinter_HTML(File fileParam, boolean view) {
    6.12 @@ -89,15 +91,15 @@
    6.13          if (processor.isIncludeQueryDescription()) {
    6.14              writer.println("<H1> Query: </H1>");
    6.15              if (processor.getDateRange() != null) {
    6.16 -                writer.println("   Date Range: " + escapeString(processor.getDateRange()));
    6.17 +                writer.println("   Date Range: " + ChangeLogUtils.escapeString(processor.getDateRange()));
    6.18                  writer.println("<P>");
    6.19              }
    6.20              if (processor.getRevisionRange() != null) {
    6.21 -                writer.println("   Revision Filter:" + escapeString(processor.getRevisionRange()));
    6.22 +                writer.println("   Revision Filter:" + ChangeLogUtils.escapeString(processor.getRevisionRange()));
    6.23                  writer.println("<P>");
    6.24              }
    6.25              if (processor.getUser() != null) {
    6.26 -                writer.println("    User Filter:" + escapeString(processor.getUser()));
    6.27 +                writer.println("    User Filter:" + ChangeLogUtils.escapeString(processor.getUser()));
    6.28                  writer.println("<P>");
    6.29              }
    6.30              if (processor.getMessageFilter() != null) {
    6.31 @@ -111,7 +113,7 @@
    6.32                  } else if (processor.getMessageFilterType() == ChangeLogProcessor.MESSAGE_FILTER_REGEXP) {
    6.33                      messageType = "Regular expression";
    6.34                  }
    6.35 -                writer.println("   Message Filter (" + escapeString(messageType) + "):" + escapeString(processor.getMessageFilter()));
    6.36 +                writer.println("   Message Filter (" + ChangeLogUtils.escapeString(messageType) + "):" + ChangeLogUtils.escapeString(processor.getMessageFilter()));
    6.37                  writer.println("<P>");
    6.38              }
    6.39              if (processor.getFileFilter() != null) {
    6.40 @@ -121,7 +123,7 @@
    6.41                  } else if (processor.getFileFilterType() == ChangeLogProcessor.FILE_FILTER_REGEXP) {
    6.42                      fileType = "Regular expression";
    6.43                  }
    6.44 -                writer.println("   Contained Files Filter (" + escapeString(fileType) + "):" + escapeString(processor.getFileFilter()));
    6.45 +                writer.println("   Contained Files Filter (" + ChangeLogUtils.escapeString(fileType) + "):" + ChangeLogUtils.escapeString(processor.getFileFilter()));
    6.46                  writer.println("<P>");
    6.47              }
    6.48              if (processor.getSortMode() == ChangeLogProcessor.SORT_BY_DATE) {
    6.49 @@ -135,6 +137,9 @@
    6.50                  writer.println(" (Ascending)");
    6.51              }
    6.52              writer.println("<P>");
    6.53 +            if (processor.isIncludeBranchNames()) {
    6.54 +                writer.println("Includes Branch Names Information <P>");
    6.55 +            }
    6.56              writer.println("<BR>");
    6.57              writer.println("<BR>");
    6.58          }
    6.59 @@ -145,11 +150,16 @@
    6.60          if (writer == null) {
    6.61              return;
    6.62          } 
    6.63 +        hasCommonBranch = false;
    6.64          writer.println("<UL>");
    6.65            writer.println("--------------------------------------------------");
    6.66 -          writer.println("<LI>User: <I>" + escapeString(group.getUser()) + "</I>");
    6.67 -          writer.println("<LI>Date: <I>" + escapeString(group.getStartingDate().toString()) + "</I>");
    6.68 -          writer.println("<LI>Message: <B>" + escapeString(group.getMessage()) + "</B>");
    6.69 +          writer.println("<LI>User: <I>" + ChangeLogUtils.escapeString(group.getUser()) + "</I>");
    6.70 +          writer.println("<LI>Date: <I>" + ChangeLogUtils.escapeString(group.getStartingDate().toString()) + "</I>");
    6.71 +          if (group.getCommonBranch() != null) {
    6.72 +              writer.println("<LI>Branch: <B><I>" + ChangeLogUtils.escapeString(group.getCommonBranch()) + "</I></B>");
    6.73 +              hasCommonBranch = true;
    6.74 +          }
    6.75 +          writer.println("<LI>Message: <B>" + ChangeLogUtils.escapeString(group.getMessage()) + "</B>");
    6.76            writer.println("<UL>");
    6.77      }
    6.78      
    6.79 @@ -164,7 +174,7 @@
    6.80          writer.println("<LI>"); //NOI18N
    6.81          HashMap replacementMap = computeReplacements(revision);
    6.82          if (service != null) {
    6.83 -            String url = replaceArguments(service.getRevisionURL(), replacementMap);
    6.84 +            String url = ChangeLogUtils.replaceArguments(service.getRevisionURL(), replacementMap);
    6.85              writer.println("<A href='" +  url +  "'>" +  revision.getNumber() + "</A> "); //NOI18N
    6.86          } else {
    6.87              writer.println(revision.getNumber());
    6.88 @@ -173,7 +183,7 @@
    6.89          if ((!replacementMap.containsKey(SPECIAL_KEY))  && //NOI18N
    6.90                 replacementMap.containsKey(PREV_REVISION) && //NOI18N
    6.91                 service != null) {
    6.92 -            String diffUrl = replaceArguments(service.getDiffURL(), replacementMap);
    6.93 +            String diffUrl = ChangeLogUtils.replaceArguments(service.getDiffURL(), replacementMap);
    6.94  //            String diffUrl = "http://www.netbeans.org/source/browse/" + reducedRepoFileName 
    6.95  //                   + ".diff?r1=text&tr1=" + prevRevision + "&r2=text&tr2=" + revision.getNumber() + "&f=h";
    6.96              writer.println("[<A href='" + diffUrl + "'> Diff </A>]"); 
    6.97 @@ -183,6 +193,9 @@
    6.98          if (replacementMap.containsKey(SPECIAL_KEY)) { //NOI18N
    6.99              writer.println(" ["+ replacementMap.get(SPECIAL_KEY) + "]");
   6.100          }
   6.101 +        if (!revision.getBranch().equals("") && !hasCommonBranch) {
   6.102 +            writer.println(" On Branch: <B>" + revision.getBranch() + "</B>");
   6.103 +        }
   6.104      }
   6.105      
   6.106      private HashMap computeReplacements(LogInfoRevision revision) {
   6.107 @@ -206,7 +219,7 @@
   6.108          if (revision.getState().equals("dead")) { //NOI18N
   6.109              replacementMap.put(SPECIAL_KEY, "Removed"); //NOI18N
   6.110          } else {
   6.111 -            int[] revNumbers = convertRevisionToIntArray(revision.getNumber());
   6.112 +            int[] revNumbers = ChangeLogUtils.convertRevisionToIntArray(revision.getNumber());
   6.113              if (revNumbers[revNumbers.length - 2] % 2 != 0 && revNumbers.length != 2) {
   6.114                  replacementMap.put(SPECIAL_KEY, "Imported"); //NOI18N
   6.115              } else {
   6.116 @@ -216,12 +229,12 @@
   6.117                      } else {
   6.118                          revNumbers[revNumbers.length - 1] = 0;
   6.119                          revNumbers[revNumbers.length - 2] = 0;
   6.120 -                        String prevrev = convertIntArrayToRevision(revNumbers);
   6.121 +                        String prevrev = ChangeLogUtils.convertIntArrayToRevision(revNumbers);
   6.122                          replacementMap.put(PREV_REVISION, prevrev);
   6.123                      }
   6.124                  } else {
   6.125                      revNumbers[revNumbers.length - 1] = revNumbers[revNumbers.length - 1] - 1;
   6.126 -                    String prevrev = convertIntArrayToRevision(revNumbers);
   6.127 +                    String prevrev = ChangeLogUtils.convertIntArrayToRevision(revNumbers);
   6.128                      replacementMap.put(PREV_REVISION, prevrev);
   6.129                  }
   6.130              }
   6.131 @@ -230,43 +243,6 @@
   6.132          
   6.133      }
   6.134      
   6.135 -    /** method that converts the string value of the revision into an array of
   6.136 -     * integers for further processing
   6.137 -     */
   6.138 -    private int[] convertRevisionToIntArray(String revision) {
   6.139 -       StringTokenizer token = new StringTokenizer(revision, ".");
   6.140 -       int[] array = new int[token.countTokens()];
   6.141 -       int index = 0;
   6.142 -       while (token.hasMoreTokens()) {
   6.143 -           String item = token.nextToken();
   6.144 -           try {
   6.145 -              int parsedNumber = Integer.parseInt(item);
   6.146 -              array[index] = parsedNumber;
   6.147 -           } catch (NumberFormatException exc) {
   6.148 -              array[index] = 0;      
   6.149 -           }
   6.150 -           index = index + 1;
   6.151 -       }
   6.152 -       return array;
   6.153 -    }
   6.154 -
   6.155 -    /**
   6.156 -     * converts array of integers to a String conforming to the format of the cvs revisions
   6.157 -     * zero values are ignored. Can be used to shorten the resulting revision.
   6.158 -     */ 
   6.159 -    private String convertIntArrayToRevision(int[] arr) {
   6.160 -        StringBuffer buffer = new StringBuffer();
   6.161 -        for (int i = 0; i < arr.length; i++) {
   6.162 -            if (arr[i] == 0) {
   6.163 -                continue;
   6.164 -            }
   6.165 -            if (i != 0) {
   6.166 -                buffer.append('.');
   6.167 -            }
   6.168 -            buffer.append(arr[i]);
   6.169 -        }
   6.170 -        return buffer.toString();
   6.171 -    }
   6.172      
   6.173      public void printGroupFooter(RevisionsGroup group) {
   6.174          if (writer == null) {
   6.175 @@ -289,9 +265,9 @@
   6.176              String[] users = processor.getUserList();
   6.177              for (int i = 0; i < users.length; i++) {
   6.178                  if (i != users.length - 1) {
   6.179 -                    writer.print(escapeString(users[i]) + ", ");
   6.180 +                    writer.print(ChangeLogUtils.escapeString(users[i]) + ", ");
   6.181                  } else {
   6.182 -                    writer.print(escapeString(users[i]));
   6.183 +                    writer.print(ChangeLogUtils.escapeString(users[i]));
   6.184                  }
   6.185              }
   6.186              writer.println("<P> <BR>");
   6.187 @@ -299,7 +275,7 @@
   6.188              writer.println("<B>Most frequently changed files:</B>");
   6.189              writer.println("<UL>");
   6.190              for (int j = 0; j < mostChanged.length; j++) {
   6.191 -                writer.println("<LI>" + escapeString(mostChanged[j]));
   6.192 +                writer.println("<LI>" + ChangeLogUtils.escapeString(mostChanged[j]));
   6.193              }
   6.194              writer.println("</UL>");
   6.195              writer.println("<P> <BR>");
   6.196 @@ -307,7 +283,7 @@
   6.197              String[] mostActive= processor.getMostActiveUsers();
   6.198              writer.println("<UL>");
   6.199              for (int k = 0; k < mostActive.length; k++) {
   6.200 -                writer.println("<LI>" + escapeString(mostActive[k]));
   6.201 +                writer.println("<LI>" + ChangeLogUtils.escapeString(mostActive[k]));
   6.202              }
   6.203              writer.println("</UL>");
   6.204              writer.println("<P> <BR>");
   6.205 @@ -332,46 +308,5 @@
   6.206          
   6.207          
   6.208      }
   6.209 -
   6.210 -    /**
   6.211 -     * @param replMap - expects patterns as keys and replacement values as values
   6.212 -     *  aka ("filePath", "javacvs/build.xml")
   6.213 -     */
   6.214 -    private String replaceArguments(String original, HashMap replMap) {
   6.215 -        Iterator it = replMap.keySet().iterator();
   6.216 -        while (it.hasNext()) {
   6.217 -            String pattern = (String)it.next();
   6.218 -            String value = (String)replMap.get(pattern);
   6.219 -            pattern = "{" + pattern + "}";
   6.220 -            int index = original.indexOf(pattern);
   6.221 -            if (index >= 0) {
   6.222 -                original = original.substring(0, index) + 
   6.223 -                          value + original.substring(index + pattern.length());
   6.224 -            }
   6.225 -        }
   6.226 -        return original;
   6.227 -    }
   6.228 -    
   6.229 -    private static final char[] charArray = new char[] {'>', '<', '&'};
   6.230 -    private static final String[] stringArray = 
   6.231 -        new String[] { "&gt;", "&lt;", "&amp;"};
   6.232 -    
   6.233 -    public static String escapeString(String original) {
   6.234 -        StringBuffer buffer = new StringBuffer(original);
   6.235 -        int index = 0;
   6.236 -        while (index < buffer.length()) {
   6.237 -            char character = buffer.charAt(index);
   6.238 -            for (int i = 0; i < charArray.length; i++) {
   6.239 -                if (character == charArray[i]) {
   6.240 -                    buffer.deleteCharAt(index);
   6.241 -                    buffer.insert(index, stringArray[i]);
   6.242 -                    index = index + stringArray[i].length();
   6.243 -                    continue;
   6.244 -                }
   6.245 -            }
   6.246 -            index = index + 1;
   6.247 -        }
   6.248 -        return buffer.toString();
   6.249 -    }
   6.250      
   6.251  }
     7.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/RevisionsGroup.java	Thu Jul 18 17:48:21 2002 +0000
     7.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/RevisionsGroup.java	Thu Jul 18 18:43:46 2002 +0000
     7.3 @@ -44,6 +44,9 @@
     7.4      /** Holds value of property user. */
     7.5      private String user;
     7.6      
     7.7 +    /** Holds value of property commonBranch. */
     7.8 +    private String commonBranch;
     7.9 +    
    7.10      RevisionsGroup() {
    7.11          list = new LinkedList();
    7.12          crcValue = 0;
    7.13 @@ -112,8 +115,20 @@
    7.14              setTrailingDate(rev.getDate());
    7.15          }
    7.16          if (message == null) {
    7.17 +            //first revision is added.
    7.18              setMessage(newMessage);
    7.19              setCRC32(computeCRC32(newMessage));
    7.20 +            if (!rev.getBranch().equals("")) {
    7.21 +                setCommonBranch(rev.getBranch());
    7.22 +            }
    7.23 +        } else {
    7.24 +            if (getCommonBranch() != null) {
    7.25 +                if (!getCommonBranch().equals(rev.getBranch())) {
    7.26 +                    // not all revisions are on the same branch..
    7.27 +                    // reset common branch..
    7.28 +                    setCommonBranch(null);
    7.29 +                }
    7.30 +            }
    7.31          }
    7.32          
    7.33          if (user == null) {
    7.34 @@ -147,6 +162,19 @@
    7.35          return list;
    7.36      }
    7.37      
    7.38 +    /** Getter for property commonBranch.
    7.39 +     * @return Value of property commonBranch.
    7.40 +     */
    7.41 +    public String getCommonBranch() {
    7.42 +        return this.commonBranch;
    7.43 +    }    
    7.44 +    
    7.45 +    /** Setter for property commonBranch.
    7.46 +     * @param commonBranch New value of property commonBranch.
    7.47 +     */
    7.48 +    void setCommonBranch(String commonBranch) {
    7.49 +        this.commonBranch = commonBranch;
    7.50 +    }
    7.51      
    7.52      private static class FileNameRevComparator implements Comparator {
    7.53          
     8.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/settings/Bundle.properties	Thu Jul 18 17:48:21 2002 +0000
     8.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/settings/Bundle.properties	Thu Jul 18 18:43:46 2002 +0000
     8.3 @@ -13,5 +13,7 @@
     8.4  CTL_ChangeLog_settings=CVS Query (ChangeLog)
     8.5  PROP_defaultServerInfo=Default Server Info
     8.6  HINT_defaultServerInfo=Server Related Information that will be preset in the Query CVS Repository wizard.
     8.7 +PROP_showBranchesByDefault=Show Branching and Tagging Info 
     8.8 +HINT_showBranchesByDefault=Shows Branch Names and Tags for Revision, has performance consequences (network traffic, memory consumption, CPU load)
     8.9  
    8.10  DefaultServerInfoPE.noDefault.text=No Default Set
     9.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/settings/ChangeLogSettings.java	Thu Jul 18 17:48:21 2002 +0000
     9.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/settings/ChangeLogSettings.java	Thu Jul 18 18:43:46 2002 +0000
     9.3 @@ -22,12 +22,14 @@
     9.4  public class ChangeLogSettings extends SystemOption {
     9.5  
     9.6      public static final String PROP_DEFAULT_SERVER = "defaultServerInfo"; // NOI18N
     9.7 +
     9.8 +    public static final String PROP_SHOW_BRANCHES = "showBranchesByDefault"; //NOI18N
     9.9      
    9.10      static final long serialVersionUID = -1563396366224442828L;
    9.11  
    9.12 -    
    9.13      public ChangeLogSettings() {
    9.14          setDefaultServerInfo("");
    9.15 +        setShowBranchesByDefault(false);
    9.16      }
    9.17      
    9.18  
    9.19 @@ -55,4 +57,18 @@
    9.20          putProperty(PROP_DEFAULT_SERVER, defaultServerInfo, true);
    9.21      }
    9.22      
    9.23 +    /** Getter for property showBranchesByDefault.
    9.24 +     * @return Value of property showBranchesByDefault.
    9.25 +     */
    9.26 +    public boolean isShowBranchesByDefault() {
    9.27 +        return ((Boolean)getProperty(PROP_SHOW_BRANCHES)).booleanValue();
    9.28 +    }
    9.29 +    
    9.30 +    /** Setter for property showBranchesByDefault.
    9.31 +     * @param showBranchesByDefault New value of property showBranchesByDefault.
    9.32 +     */
    9.33 +    public void setShowBranchesByDefault(boolean showBranchesByDefault) {
    9.34 +        putProperty(PROP_SHOW_BRANCHES, new Boolean(showBranchesByDefault));
    9.35 +    }
    9.36 +    
    9.37  }
    9.38 \ No newline at end of file
    10.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/settings/ChangeLogSettingsBeanInfo.java	Thu Jul 18 17:48:21 2002 +0000
    10.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/settings/ChangeLogSettingsBeanInfo.java	Thu Jul 18 18:43:46 2002 +0000
    10.3 @@ -48,8 +48,12 @@
    10.4              defaultServer.setDisplayName (bundle.getString("PROP_defaultServerInfo")); // NOI18N
    10.5              defaultServer.setShortDescription (bundle.getString("HINT_defaultServerInfo"));      // NOI18N       
    10.6              defaultServer.setPropertyEditorClass(DefaultServerInfoPE.class);
    10.7 +
    10.8 +            PropertyDescriptor showBranchesByDefault = new PropertyDescriptor ("showBranchesByDefault", ChangeLogSettings.class); // NOI18N
    10.9 +            showBranchesByDefault.setDisplayName (bundle.getString("PROP_showBranchesByDefault")); // NOI18N
   10.10 +            showBranchesByDefault.setShortDescription (bundle.getString("HINT_showBranchesByDefault"));      // NOI18N       
   10.11              
   10.12 -            return new PropertyDescriptor[] { defaultServer };
   10.13 +            return new PropertyDescriptor[] { defaultServer, showBranchesByDefault };
   10.14              
   10.15          } catch (IntrospectionException ie) {
   10.16              org.openide.ErrorManager.getDefault().notify();
    11.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/wizard/Bundle.properties	Thu Jul 18 17:48:21 2002 +0000
    11.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/wizard/Bundle.properties	Thu Jul 18 18:43:46 2002 +0000
    11.3 @@ -63,12 +63,14 @@
    11.4  
    11.5  OutputPanel.rbDescending.title=Descending
    11.6  
    11.7 -OutputPanel.cbQuery.title=Include Query Filter Description
    11.8 +OutputPanel.cbQuery.title=Query Filter Description
    11.9  
   11.10 -OutputPanel.cbSummary.title=Include Summary Statistic
   11.11 +OutputPanel.cbSummary.title=Summary Statistic
   11.12  
   11.13  HtmlPanel.lblOrder.text=Order\:
   11.14  
   11.15  HtmlPanel.lblInclude.text=Include\:
   11.16  
   11.17  HtmlPanel.lblSort.text=Sort By\:
   11.18 +
   11.19 +OutputPanel.cbBranchNames.title=Branch Names (High network traffic)
    12.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/wizard/OutputPanel.form	Thu Jul 18 17:48:21 2002 +0000
    12.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/wizard/OutputPanel.form	Thu Jul 18 18:43:46 2002 +0000
    12.3 @@ -56,7 +56,7 @@
    12.4            </Properties>
    12.5            <Constraints>
    12.6              <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
    12.7 -              <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="6" insetsBottom="6" insetsRight="6" anchor="18" weightX="0.0" weightY="0.1"/>
    12.8 +              <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="6" insetsBottom="6" insetsRight="6" anchor="18" weightX="0.0" weightY="0.0"/>
    12.9              </Constraint>
   12.10            </Constraints>
   12.11          </Component>
   12.12 @@ -132,6 +132,18 @@
   12.13              </Constraint>
   12.14            </Constraints>
   12.15          </Component>
   12.16 +        <Component class="javax.swing.JCheckBox" name="cbBranchNames">
   12.17 +          <Properties>
   12.18 +            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
   12.19 +              <ResourceString bundle="org/netbeans/modules/changelog/wizard/Bundle.properties" key="OutputPanel.cbBranchNames.title" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString(&quot;{key}&quot;)"/>
   12.20 +            </Property>
   12.21 +          </Properties>
   12.22 +          <Constraints>
   12.23 +            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
   12.24 +              <GridBagConstraints gridX="2" gridY="3" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="12" insetsBottom="0" insetsRight="6" anchor="18" weightX="0.0" weightY="0.1"/>
   12.25 +            </Constraint>
   12.26 +          </Constraints>
   12.27 +        </Component>
   12.28        </SubComponents>
   12.29      </Container>
   12.30      <Container class="javax.swing.JPanel" name="pnlType">
    13.1 --- a/javacvs/changelog/src/org/netbeans/modules/changelog/wizard/OutputPanel.java	Thu Jul 18 17:48:21 2002 +0000
    13.2 +++ b/javacvs/changelog/src/org/netbeans/modules/changelog/wizard/OutputPanel.java	Thu Jul 18 18:43:46 2002 +0000
    13.3 @@ -61,6 +61,7 @@
    13.4          lblInclude = new javax.swing.JLabel();
    13.5          cbSummary = new javax.swing.JCheckBox();
    13.6          cbQuery = new javax.swing.JCheckBox();
    13.7 +        cbBranchNames = new javax.swing.JCheckBox();
    13.8          pnlType = new javax.swing.JPanel();
    13.9          cbTextFile = new javax.swing.JCheckBox();
   13.10          txTextFile = new javax.swing.JTextField();
   13.11 @@ -79,16 +80,16 @@
   13.12  
   13.13          lblSort.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("HtmlPanel.lblSort.text"));
   13.14          gridBagConstraints = new java.awt.GridBagConstraints();
   13.15 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.16          gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 0);
   13.17 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.18          pnlSort.add(lblSort, gridBagConstraints);
   13.19  
   13.20          rbSortByDate.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.rbSortByDate.title"));
   13.21          gridBagConstraints = new java.awt.GridBagConstraints();
   13.22          gridBagConstraints.gridx = 0;
   13.23          gridBagConstraints.gridy = 1;
   13.24 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.25          gridBagConstraints.insets = new java.awt.Insets(4, 6, 0, 6);
   13.26 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.27          pnlSort.add(rbSortByDate, gridBagConstraints);
   13.28  
   13.29          rbSortByUser.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.rbSortByUser.title"));
   13.30 @@ -97,53 +98,61 @@
   13.31          gridBagConstraints.gridy = 2;
   13.32          gridBagConstraints.insets = new java.awt.Insets(2, 6, 6, 6);
   13.33          gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
   13.34 -        gridBagConstraints.weighty = 0.1;
   13.35          pnlSort.add(rbSortByUser, gridBagConstraints);
   13.36  
   13.37          lblOrder.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("HtmlPanel.lblOrder.text"));
   13.38          gridBagConstraints = new java.awt.GridBagConstraints();
   13.39 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.40          gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 6);
   13.41 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.42          pnlSort.add(lblOrder, gridBagConstraints);
   13.43  
   13.44          rbAscending.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.rbAscending.title"));
   13.45          gridBagConstraints = new java.awt.GridBagConstraints();
   13.46          gridBagConstraints.gridx = 1;
   13.47          gridBagConstraints.gridy = 1;
   13.48 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.49          gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 6);
   13.50 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.51          pnlSort.add(rbAscending, gridBagConstraints);
   13.52  
   13.53          rbDescending.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.rbDescending.title"));
   13.54          gridBagConstraints = new java.awt.GridBagConstraints();
   13.55          gridBagConstraints.gridx = 1;
   13.56          gridBagConstraints.gridy = 2;
   13.57 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
   13.58          gridBagConstraints.insets = new java.awt.Insets(2, 0, 6, 6);
   13.59 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
   13.60          pnlSort.add(rbDescending, gridBagConstraints);
   13.61  
   13.62          lblInclude.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("HtmlPanel.lblInclude.text"));
   13.63          gridBagConstraints = new java.awt.GridBagConstraints();
   13.64 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.65          gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 6);
   13.66 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.67          pnlSort.add(lblInclude, gridBagConstraints);
   13.68  
   13.69          cbSummary.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.cbSummary.title"));
   13.70          gridBagConstraints = new java.awt.GridBagConstraints();
   13.71          gridBagConstraints.gridx = 2;
   13.72          gridBagConstraints.gridy = 2;
   13.73 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
   13.74          gridBagConstraints.insets = new java.awt.Insets(2, 12, 0, 6);
   13.75 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
   13.76          pnlSort.add(cbSummary, gridBagConstraints);
   13.77  
   13.78          cbQuery.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.cbQuery.title"));
   13.79          gridBagConstraints = new java.awt.GridBagConstraints();
   13.80          gridBagConstraints.gridx = 2;
   13.81          gridBagConstraints.gridy = 1;
   13.82 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.83          gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 6);
   13.84 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
   13.85          pnlSort.add(cbQuery, gridBagConstraints);
   13.86  
   13.87 +        cbBranchNames.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.cbBranchNames.title"));
   13.88 +        gridBagConstraints = new java.awt.GridBagConstraints();
   13.89 +        gridBagConstraints.gridx = 2;
   13.90 +        gridBagConstraints.gridy = 3;
   13.91 +        gridBagConstraints.insets = new java.awt.Insets(2, 12, 0, 6);
   13.92 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
   13.93 +        gridBagConstraints.weighty = 0.1;
   13.94 +        pnlSort.add(cbBranchNames, gridBagConstraints);
   13.95 +
   13.96          gridBagConstraints = new java.awt.GridBagConstraints();
   13.97          gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
   13.98          gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
   13.99 @@ -158,29 +167,29 @@
  13.100          gridBagConstraints = new java.awt.GridBagConstraints();
  13.101          gridBagConstraints.gridx = 0;
  13.102          gridBagConstraints.gridy = 0;
  13.103 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  13.104          gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 6);
  13.105 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  13.106          pnlType.add(cbTextFile, gridBagConstraints);
  13.107  
  13.108          txTextFile.setPreferredSize(new java.awt.Dimension(200, 17));
  13.109          txTextFile.setMinimumSize(new java.awt.Dimension(150, 17));
  13.110          gridBagConstraints = new java.awt.GridBagConstraints();
  13.111 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.112          gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 0);
  13.113 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.114          pnlType.add(txTextFile, gridBagConstraints);
  13.115  
  13.116          btnTextFile.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.btnTextFile.title"));
  13.117          gridBagConstraints = new java.awt.GridBagConstraints();
  13.118 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.119          gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 6);
  13.120 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.121          pnlType.add(btnTextFile, gridBagConstraints);
  13.122  
  13.123          cbHtmlFile.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.cbHtmlFile.title"));
  13.124          gridBagConstraints = new java.awt.GridBagConstraints();
  13.125          gridBagConstraints.gridx = 0;
  13.126          gridBagConstraints.gridy = 1;
  13.127 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.128          gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 6);
  13.129 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.130          pnlType.add(cbHtmlFile, gridBagConstraints);
  13.131  
  13.132          txHtmlFile.setPreferredSize(new java.awt.Dimension(200, 17));
  13.133 @@ -188,43 +197,43 @@
  13.134          gridBagConstraints = new java.awt.GridBagConstraints();
  13.135          gridBagConstraints.gridx = 1;
  13.136          gridBagConstraints.gridy = 1;
  13.137 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.138          gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 0);
  13.139 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.140          pnlType.add(txHtmlFile, gridBagConstraints);
  13.141  
  13.142          btnHtmlFile.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.btnHtmlFile.title"));
  13.143          gridBagConstraints = new java.awt.GridBagConstraints();
  13.144          gridBagConstraints.gridx = 2;
  13.145          gridBagConstraints.gridy = 1;
  13.146 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.147          gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 6);
  13.148 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.149          pnlType.add(btnHtmlFile, gridBagConstraints);
  13.150  
  13.151          cbWindow.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.cbWindow.title"));
  13.152          gridBagConstraints = new java.awt.GridBagConstraints();
  13.153          gridBagConstraints.gridx = 0;
  13.154          gridBagConstraints.gridy = 2;
  13.155 +        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  13.156          gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
  13.157 -        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  13.158          pnlType.add(cbWindow, gridBagConstraints);
  13.159  
  13.160          cbOutputWindow.setText(org.openide.util.NbBundle.getBundle(OutputPanel.class).getString("OutputPanel.cbOutputWindow.title"));
  13.161          gridBagConstraints = new java.awt.GridBagConstraints();
  13.162          gridBagConstraints.gridx = 0;
  13.163          gridBagConstraints.gridy = 3;
  13.164 -        gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
  13.165          gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  13.166          gridBagConstraints.weighty = 0.5;
  13.167 +        gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
  13.168          pnlType.add(cbOutputWindow, gridBagConstraints);
  13.169  
  13.170          gridBagConstraints = new java.awt.GridBagConstraints();
  13.171          gridBagConstraints.gridx = 0;
  13.172          gridBagConstraints.gridy = 1;
  13.173          gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
  13.174 -        gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 12);
  13.175          gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  13.176          gridBagConstraints.weightx = 0.5;
  13.177          gridBagConstraints.weighty = 0.1;
  13.178 +        gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 12);
  13.179          add(pnlType, gridBagConstraints);
  13.180  
  13.181      }//GEN-END:initComponents
  13.182 @@ -290,7 +299,7 @@
  13.183              }
  13.184              cbSummary.setSelected(proces.isIncludeSummary());
  13.185              cbQuery.setSelected(proces.isIncludeQueryDescription());
  13.186 -            
  13.187 +            cbBranchNames.setSelected(proces.isIncludeBranchNames());
  13.188         }
  13.189      }
  13.190      
  13.191 @@ -333,6 +342,7 @@
  13.192              proces.setIncludeQueryDescription(cbQuery.isSelected());
  13.193              proces.setIncludeSummary(cbSummary.isSelected());
  13.194              proces.setViewInBrowser(cbWindow.isSelected());
  13.195 +            proces.setIncludeBranchNames(cbBranchNames.isSelected());
  13.196         }
  13.197      }
  13.198      
  13.199 @@ -346,6 +356,7 @@
  13.200      private javax.swing.JRadioButton rbDescending;
  13.201      private javax.swing.JLabel lblInclude;
  13.202      private javax.swing.JCheckBox cbHtmlFile;
  13.203 +    private javax.swing.JCheckBox cbBranchNames;
  13.204      private javax.swing.JLabel lblSort;
  13.205      private javax.swing.JCheckBox cbSummary;
  13.206      private javax.swing.JCheckBox cbOutputWindow;
  13.207 @@ -357,8 +368,8 @@
  13.208      private javax.swing.JRadioButton rbAscending;
  13.209      private javax.swing.JLabel lblOrder;
  13.210      private javax.swing.JButton btnTextFile;
  13.211 +    private javax.swing.JCheckBox cbWindow;
  13.212      private javax.swing.JTextField txTextFile;
  13.213 -    private javax.swing.JCheckBox cbWindow;
  13.214      private javax.swing.JRadioButton rbSortByDate;
  13.215      // End of variables declaration//GEN-END:variables
  13.216