Add PropertyConfiguration class 79/38179/15
authorJim Hahn <jrh3@att.com>
Fri, 23 Mar 2018 18:47:42 +0000 (14:47 -0400)
committerJim Hahn <jrh3@att.com>
Sun, 25 Mar 2018 13:03:26 +0000 (09:03 -0400)
commitd625f8e805c12301e36392d550b4ca8f8cfa3b5f
tree8b4cb9e2ef1c3d85e236f2a07a42427e880a8c99
parent586e553d141e087566a6b064121910089cf52cff
Add PropertyConfiguration class

Added PropertyConfiguration class, which provides for the loading of
properties into the fields of a subclass.  Annotations are used to
identify the field to be loaded and the name of the property from
which it is to be loaded.
Changed attribute "useDefault" to "emptyOk" so that it only has to
be specified when the default value is empty.
Reformatted a couple of files.
Added setAllFields() method.
Added getRawPropertyValue() method so subclasses can change how
values are extracted from the property set.
Added SpecPropertyConfiguration so controller or session names
may be embedded within property names.
Fixed some typos.
Refactored out generalizeType2().
Changed exception classes to take field name instead of Field object.
Modified getValue() to take the field name and class type instead of
Field object.
Removed or fixed comments in junit tests.
Added more junit tests.
Changed emptyOk attribute to accept, to facilitate adding other
options in the future.
Corrected comments on the isEmptyOk() methods.

Change-Id: I6b190fea687f87cf512fb3236bfcf40b7adc4566
Issue-ID: POLICY-577
Signed-off-by: Jim Hahn <jrh3@att.com>
15 files changed:
utils/src/main/java/org/onap/policy/common/utils/properties/PropertyConfiguration.java [new file with mode: 0644]
utils/src/main/java/org/onap/policy/common/utils/properties/SpecPropertyConfiguration.java [new file with mode: 0644]
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyAccessException.java [new file with mode: 0644]
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyAnnotationException.java [new file with mode: 0644]
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyException.java [new file with mode: 0644]
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyInvalidException.java [new file with mode: 0644]
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyMissingException.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/PropertyConfigurationTest.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/SpecPropertyConfigurationTest.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAccessExceptionTest.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAnnotationExceptionTest.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyExceptionTest.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyInvalidExceptionTest.java [new file with mode: 0644]
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyMissingExceptionTest.java [new file with mode: 0644]