35 Commits

Author SHA1 Message Date
Jonathan Bernard
ec7c07f81f Bug fix in FileIssue.
* Property changes that changed the filename of the underlying file were
  neglecting to update the internal file pointer to the new file.
2011-12-12 15:56:10 -06:00
Jonathan Bernard
952064d903 Fixed FileIssue formatting and extended properties.
* The extended properties table was using the maxKeyLength for both keys and
  values.
* FileIssue was not persisting the file when extended properties were updated.
2011-12-08 16:01:54 -06:00
Jonathan Bernard
31b9802477 Fixed PIT CLI output when setting extended properties. 2011-12-08 15:37:06 -06:00
Jonathan Bernard
846d1edc74 Filter and FileProject support for extended properties.
* Added support for extended properties to `Filter`. Unlike the basic
  properties, which allow the caller to specify a list of acceptable values, the
  extended properties only supports a map of properties, all of which must be
  available on the issue and match the given value.
* Made `Issue` a concrete class. There was no reason it could not be a concrete
  object. The main difference is that the extending classes all add some sort of
  persistence to the issue, but having an in-memory `Issue` in its most basic
  form can be useful and should be allowed.
* Changed the default priority for new issues from 9 to 5.
* Bug fix on `FileIssue.formatIssue()`. If was not properly returning its
  result leading to failure if no extended properties were given.
* Reworked `FileIssue.formatIssue()` to only print the horizontal rule
  seperating the issue text from the extended properties if there are extended
  properties to print as well.
* Changed the `FileProject.createNewIssue()` to handle extended properties and
  handle the basic properties in a manner more consistent with `Issue`. It is
  now creating an `Issue` object and using the `FileIssue.formatIssue()`
  function to write that to a new issue file, then loading that file back in as
  a `FileIssue`. This cuts down on code duplication and makes it so that the
  options map that `FileProject.createNewIssue()` expects is the same as the
  options to the `Issue` constructor.
2011-12-08 14:38:24 -06:00
Jonathan Bernard
6f58a83ad4 Multiple sort criteria to filters, bugfix, and cleanup.
* Fixed a bug in the common build. This bug is fixed in version 1.9, but I am
  patching this bug locally in 1.6 until I have evaluated 1.9 with this project.
* Moved `ExtendedPropertyHelp` to `com.jdbernard.pit` from
  `com.jdbernard.pit.file`.
* Added a number of property types to `ExtendedPropertyHelp`. New additions are:

    * `java.util.Calendar` *object -> string value only*
    * `java.util.Date` *object -> string value only*
    * `java.lang.Long` *this replaces `java.util.Integer`*
    * `java.lang.Float` *object -> string value only*
    * `java.lang.Double`
* Cleaned up the `matches(String)` and `matches(Class)` functions of
  `ExtendedPropertyHelp`
* Modified `Filter` sorter behaviours. The `issueSorter` and `projectSorter`
  fields are now allowed to be either a closure or a list of closures. A single
  closure works as it did before. The list of closures allows the caller to
  specify multiple sort criteria. The individual criteria closures are applied
  in reverse order, so that the first item in the sorter list is the most
  significant criteria. For example, if the caller set the sorter to
  `[{it.category},{it.priority}]` then the issues would be sorted first by
  priority and then sorted again by category, meaning that the resulting data
  would be ordered first by the category of the issue and then by the priority
  for issues that share the same category.
* Modified the methods in `Project` that use `Filter` objects to conform to the
  above behavior regarding sorting. It may be a better idea though to move the
  sort code all into `Filter` so that it is in one place.
* Cleaned up the code in `Status` for matching status based on given symbols or
  partial status names.
2011-12-07 18:01:18 -06:00
Jonathan Bernard
e00e2e296e Updated and optimized --version option in pit-clit. 2011-11-22 14:39:55 -06:00
Jonathan Bernard
c26ba17dbb Refactored pit-cli build process to work with JDB common build. 2011-11-21 03:03:52 -06:00
Jonathan Bernard
66b68160e5 Moved to JDB common build structure. 2011-11-20 21:00:53 -06:00
Jonathan Bernard
f86316c68f Continued implementation of extended attributes.
* Changed the `Issue` constructor to use an attribute map instead of an
  increasingly long parameter list. Of course we lose some control over required
  parameters.
* Added the Joda Time and SLF4J logging libraries.
* Implemented the `FileIssue` constructor for the new `Issue` refactor.
2011-11-05 08:44:47 -05:00
Jonathan Bernard
faacfd859a Starting version 3.0.x.
* Major differences will be with `Issues`. The structure of issues will not be
  as tied to the original `FileIssue` implementation and will support arbitrary
  attributes.
* Removed 2.6.x files and updated versioning properties.
* Fixed a typo in pit-cli
* Temporarily removed the invocation of pit-swing's build file until I have that
  sorted. It was not working.
2011-11-03 02:36:35 -05:00
Jonathan Bernard
09319cb2e7 Added walkProject to core. Updated classes to interface changes.
* Implemented `walkProject` on `com.jdbernard.pit.Project`
* Updated several classes to fit the new interfaces/abstract classes.
* Still not finished with XML issue repository code.
2011-10-24 20:02:49 -05:00
Jonathan Bernard
b04655a428 Reworked CLI command line interface.
CLI interface options make more sense, are parsed in a more organized fashion,
and the interface is more informative regarding its actions.
2011-08-09 17:36:36 -05:00
Jonathan Bernard
ef0b0be4f2 Fixed merge problems. 2011-05-27 12:48:32 -05:00
Jonathan Bernard
b3c223f0b8 Fixed bug, pit-cli now trims input directory. 2011-05-27 12:45:37 -05:00
Jonathan Bernard
6c36d78b7d Incremental work on XML implementation. 2011-05-27 10:25:57 -05:00
Jonathan Bernard
b7670e69f3 Added throws declarations for IOExceptions on Issue setters.
The FileIssue implementation now checks to ensure the success of the setters.
2010-05-19 09:54:18 -05:00
Jonathan Bernard
cd7f14cb2d Added FlatProjectView. Used it to create an 'All Issues' project in pit-swing.
Solves issue #11: pit-swing: Add a default, "all-projects" view.
2010-04-24 18:10:19 -05:00
Jonathan Bernard
e65e2bbe47 Resolves issues 0013, 0022, and 0019.
0013: Hide a new issue after a delay if does not match the viewing criteria.
0022: New 'Bugs' created are not correctly categorized.
0019: Add the ability to change the Issue text size.
2010-04-20 14:02:08 -05:00
Jonathan Bernard
85bd269c55 Release 2.1.0
libpit:
* hidden directories are ignored

pit-swing:
* added new/delete project/issue buttons
* added word wrap
* changed default issue status to NEW
2010-02-27 03:06:35 -06:00
Jonathan Bernard
4179b993f4 HG corrupted local copy, lost 22 changesets 2010-02-26 13:21:24 -06:00
Jonathan Bernard
7263cd1521 Building 1.1.8 2010-02-25 19:29:35 -06:00
Jonathan Bernard
eb88f8b871 Rebuilt pit-cli for 1.1.6 2010-02-24 08:41:42 -06:00
Jonathan Bernard
177b14c785 Updated global build. 2010-02-24 08:39:23 -06:00
Jonathan Bernard
978f1f0d3e Fixed FileProject.delete() bug. Preparing for libpit 1.1.6 2010-02-24 07:58:37 -06:00
Jonathan Bernard
60109087e5 Small enhancements to libpit to facilitate pit-swing.
Added delete() and createNewProject(String) to Project class.
Added nicer toString() method to Category enum.
2010-02-24 03:05:37 -06:00
Jonathan Bernard
d8eae1b405 Fixed bug in FileIssue constructor 2010-02-22 08:37:41 -06:00
Jonathan Bernard
d642be27e8 Bugfix in defaultSorters for Filter 2010-02-21 16:09:13 -06:00
Jonathan Bernard
ce35e14694 Fixed ugly inheritance issue with Issue and FileIssue.
Added Filter unit tests.
2010-02-21 15:43:24 -06:00
Jonathan Bernard
7ff8806544 Refactored Issues/Projects in to abstract classes with further implementations.
ALl tests passing. Ran into some frustrationg aspects of Groovy
2010-02-20 22:31:33 -06:00
Jonathan Bernard
1e5ebe89bf Awaiting testing before releasing 1.1.2 2010-02-18 20:45:20 -06:00
Jonathan Bernard
b6b190e480 Bugfix for 1.1.0 2010-02-18 11:24:22 -06:00
Jonathan Bernard
4035f366f3 Finished libpit 1.1.0. Added change operations (priority, category, etc)
Began unit testing of libpit.
Made most of the changes to pit-cli needed to incorporate the new libpit
features.
2010-02-18 11:02:20 -06:00
Jonathan Bernard
cfed10c3ed Implemented category and priority setters in libpit. Started writing unit tests. 2010-02-16 09:15:33 -06:00
Jonathan Bernard
bb56b706f8 Finished 1.0.0 of libpit. Other housekeeping performed as well.
Moved issue for the PIT project to top-level.
Created top-level versioning properties and project properties for pit-cli
2010-02-13 21:30:31 -06:00
Jonathan Bernard
f3f30237b2 Reorganizing into subprojects.
libpit      - Personal Issue Tracker core libraries (Filter, Issue, Project, Category)
pit-cli     - Command Line Interface (CLI) to libpit
pit-swing   - Graphical, Swing interface to libpit (built using Griffon)

libpit and pit-swing both build, though pit-swing is just an empty griffon poject.
2010-02-13 11:58:00 -06:00