Skip to content

Releases: OpenPojo/openpojo

OpenPojo 0.8.5

22 May 06:11
Compare
Choose a tag to compare

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.

OpenPojo 0.8.4

24 Apr 18:28
Compare
Choose a tag to compare

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.

OpenPojo 0.8.3

09 Dec 00:59
Compare
Choose a tag to compare

Added

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

OpenPojo 0.8.2

06 Dec 19:59
Compare
Choose a tag to compare

Added

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

OpenPojo 0.8.1

23 Oct 21:43
Compare
Choose a tag to compare

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.

OpenPojo 0.8.0

20 Sep 18:51
Compare
Choose a tag to compare

This release is identical to 0.7.5, however the OpenPojo license has been moved to Apache 2.0.

OpenPojo 0.7.5

17 Aug 23:24
Compare
Choose a tag to compare

Added

  1. Validator now supports single PojoClass validation, List, or even recursively over a given package. Removing the need for PojoValidator completely.

OpenPojo 0.7.4

14 Aug 21:00
Compare
Choose a tag to compare

Added

  1. Simplified Pojo Validation, now there is a ValidatorBuilder class to simplify adding Rule(s) / Tester(s). Thanks to Felipe R. for suggesting and providing a working implementation, also thanks to Todd C. for being a sounding board on brain storming alternative approaches. This will simplify much of the boiler plate written to create tests against Pojos. For example:
   Validator validator = ValidatorBuilder.create()
        .with(new GetterMustExistRule())
        .with(new SetterMustExistRule())
        .with(new SetterTester())
        .with(new GetterTester())
        .build();

    validator.validate(POJO_PACKAGE, new FilterPackageInfo());

Fixed

  1. BusinessIdentity.areEqual() / .doHashCode() was failing to do deep inspection with multi-dimentional arrays. (Thanks to Todd C. for uncovering this issue).
  2. TestClassMustBeProperlyNamedRule was failing when TestNG annotation was not loaded.
  3. FilterChain class used to throw null pointer exception when created with "null" filters, will now act as passive filter.
  4. A minor warning in Pojo validation was being thrown when an Interface was being validated without rules being added.

OpenPojo 0.7.3

25 Apr 00:17
Compare
Choose a tag to compare

Added

  1. Support for every Collection & Map in Java, with automatic detection and registration based on JVM support. The complete list of Collections & Maps listed bellow.
  2. New Rule TestClassMustBeProperlyNamedRule to test misnamed test files that will only run on your IDE but not on your build server.
public class StructuralTest {
  private PojoValidator pojoValidator;

  @Before
  public void setup() {
    pojoValidator = new PojoValidator();
    pojoValidator.addRule(new TestClassMustBeProperlyNamedRule());
  }

  @Test
  public void allTestsMustBeProperlyNamed() {
    List<PojoClass> pojoClasses = PojoClassFactory.getPojoClassesRecursively("com.openpojo", null);
    for (PojoClass pojoClass : pojoClasses) {
      pojoValidator.runValidation(pojoClass);
    }
  }
}

Collections:

  1. AbstractCollection
  2. Collection

Lists:

  1. AbstractList
  2. AbstractSequentialList
  3. ArrayList
  4. AttributeList
  5. CopyOnWriteArrayList
  6. LinkedList
  7. List
  8. RoleList
  9. RoleUnresolvedList
  10. Stack
  11. Vector

Queues:

  1. AbstractQueue
  2. ArrayBlockingQueue
  3. ArrayDeque
  4. BlockingDeque
  5. BlockingQueue
  6. ConcurrentLinkedDeque
  7. ConcurrentLinkedQueue
  8. DelayQueue
  9. Deque
  10. LinkedBlockingDeque
  11. LinkedBlockingQueue
  12. LinkedTransferQueue
  13. PriorityBlockingQueue
  14. PriorityQueue
  15. Queue
  16. SynchronousQueue
  17. TransferQueue

Sets:

  1. AbstractSet
  2. ConcurrentSkipListSet
  3. CopyOnWriteArraySet
  4. EnumSet
  5. HashSet
  6. JobStateReasons
  7. LinkedHashSet
  8. NavigableSet
  9. Set
  10. SortedSet
  11. TreeSet

Maps:

  1. AbstractMap
  2. ConcurrentHashMap
  3. ConcurrentMap
  4. EnumMap
  5. HashMap
  6. Hashtable
  7. IdentityHashMap
  8. LinkedHashMap
  9. Map
  10. NavigableMap
  11. SortedMap
  12. TreeMap
  13. WeakHashMap

OpenPojo-0.7.2

12 Apr 03:34
Compare
Choose a tag to compare

Fixed

  1. Issue #57 - An intermittent failure when generating a random generic Collection.