@oshoukry oshoukry released this Mar 9, 2018 · 4 commits to master since this release

Assets 3

Added

  1. Issue #113 Support for randomly generating BufferedImage. (Thanks to panosgit)

Fixed

  1. Issue #95 AttributeHelper was stripping out the prefixes from fields regardless of registration scope (causing exceptions). Will now allow you to use the AttributeHelper registering Prefix as guidance not given, enabling you to migrate out of your prefix architecture if needed. (Thanks to Yky)
  2. Better version detection for ASM versions, there was a corner case when ASM pre-5.0 was loaded causing unexpected failure due to changes in ASM pre-5. OpenPojo will now throw appropriate exception if ASM pre-5.0 is detected or 6.0 or higher.

@oshoukry oshoukry released this Feb 24, 2018 · 12 commits to master since this release

Assets 3

Fixed

  1. Removed an accidental include of Log4J logger in SerializableTester, now its logging appropriately to OpenPojo's logging framework.
  2. Fixed an issue when abstract classes were failing generation for testing.
  3. Minor fixes to PrincipleName random generation to make it more robust on JDK 1.5.

@oshoukry oshoukry released this Feb 10, 2018 · 33 commits to master since this release

Assets 3

Added

  1. Serializable tester, now you can test all your serializables by adding "SerializableTester" to the validator, did you know you can also enumerate all serializables in your code with this one call:
      PojoClassFactory.enumerateClassesByExtendingType("your.top.level.package", Serializable.class, null);
  1. OpenPojo will now generate stub methods for all abstract methods in an abstract class being tested. Those methods will return random values based on the return type.

Changed

  1. Issue #102 Now you can pull the PojoClass if you have the PojoField.

Fixed

  1. Issue #89 If an abstract class was being tested and during one of the methods being tested a call toString() was made and toString() was declared abstract, an error used to be thrown, now OpenPojo will dispatch the toString() to BusinessIdentity.toString() to print the class name and memory address per standard. While trouble shooting this issue also fixed an issue when an abstract class under testing had constructor(s) defined that had parameters in them was throwing errors. (Thanks to Michel W.)
  2. Issue #107 When a erroneously detecting serialVersionUID was a shadowed field. (Thanks to Henrik V.)
  3. Issue #112 Failure for OpenPojo to randomly generate appropriate XMLGregorianCalendar object.

@oshoukry oshoukry released this Jan 7, 2018 · 65 commits to master since this release

Assets 3

Added

  1. Issue #109, OpenPojo will now initialize all @BusinessKey fields when generating a Pojo that declares such fields.
  2. Issue #83, EqualsAndHashCodeMatchRule a new rule that ensures that either both equals & hashCode are implemented or neither is. (Thanks to Eulbobo)

Changed

  1. Issue #86, Validator now returns a list of classes validated when calling by "packageName" so caller can inspect and ensure validation has actually occurred and against which classes.

Fixed

  1. Issue #109, OpenPojo will no longer throw errors when attempting to test Pojo's that have Set fields with that hold Pojo's that utilize BusinessKeys.
  2. Issue #108, OpenPojo will no longer depend on just "sun.boot.class.path" nor will it throw null pointers if it is not set. (Thanks to JohnZavyn)
  3. Issue #100, OpenPojo will successfully create dynamic subclasses from an abstract class. (Thanks to lennartnederstigt)

@oshoukry oshoukry released this May 29, 2017 · 84 commits to master since this release

Assets 3

Fixed

  1. Issue #88, GetterMustExist now skips synthetic fields. (Thanks to mkonstantinou)
  2. Issue #92, OpenPojo's NoFieldShadowingRule rule will now not erroneously detect serialVersionUID as a field being shadowed. Additionally, NoFieldShadowingRule now supports list of fieldNames to skip. (Thanks to sixcorners)

@oshoukry oshoukry released this May 22, 2017 · 89 commits to master since this release

Assets 3

Added

  1. OpenPojo now has the ability to enumerate classes from java BootClassLoader.
  2. Issue #98, support for java.util.TimeZone random generation added (Thanks to Ignacio L.)
  3. Issue #84, support for sun.security.krb5.Credentials random generation added.
  4. Issue #96 Support for generating random values for java.time.Instant added (Thanks to sixcorners)

Fixed

  1. Issue #85, OpenPojo now correctly handles a single dimension array when the array type is primitive (Thanks to Todd C.)
  2. BusinessIdentityTester is now thread safe.

@oshoukry oshoukry released this Apr 24, 2016 · 113 commits to master since this release

Assets 3

Added

  1. Issue #78, PojoClass, PojoMethod & PojoField now all support isPackagePrivate() as well as isPrivate(), isProtected(), isPublic().
  2. Issue #79, PojoField now supports getGetter() & getSetter(). (Thanks to Chris D.)

Fixed

  1. When attempting to generate subclass for Abstract class, OpenPojo was throwing class not found instead of the friendly message about including asm to the classpath.
  2. Issue #81, inability to load all classes from a package recursively when a method or field was linking to missing class, now OpenPojo will warn about the missing class but will return the list of classes it was able to load.
  3. Issue #82, support for randomly generating ZonedDateTime class from Java8. (Thanks to Shawn S.)
  4. Issue #82, support for randomly generating ZonedId class from Java8. (Thanks to Shawn S.)

Removed

  1. EnumSetRandomGenerator classes which had been deprecated as the functionality had been moved to Set generators.

@oshoukry oshoukry released this Dec 9, 2015 · 157 commits to master since this release

Assets 3

Added

  1. Support for generating random URL closing issue #74. (Thanks to John G.)
  2. Support for generating random URI.

@oshoukry oshoukry released this Dec 6, 2015 · 166 commits to master since this release

Assets 3

Added

  1. Support for generating UUID which fixed issue #72. (Thanks to John G. for reporting the issue).

@oshoukry oshoukry released this Oct 23, 2015 · 185 commits to master since this release

Assets 3

Added

  1. PojoClass now has .getPackage() which returns PojoPackage allowing various Package operations.

Fixed

  1. BusinessIdentity.toString() now does deepToString on array fields.
  2. Issue #68 - A corner case with Java < 1.7 failing to randomly generate values for testing when the field was declared as Set<Object[]> or some other combination of Collection holding primitive arrays.