aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-03-08Create ParameterGroupImplJim Hahn20-385/+226
Classes that implement ParameterGroup all have to add their own name and validate() fields and methods. Added an "impl" class that provides the standard functionality and modified subclasses to use it. Change-Id: Ic6ee1607fb4fe7164a4e1eeebc480ea7d1e7e4d7 Issue-ID: POLICY-1542 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-03-08Merge "Add NotNull and NotBlank parameter validation"Liam Fallon9-83/+487
2019-03-07Add NotNull and NotBlank parameter validationJim Hahn9-83/+487
Modified the ParameterValidator to support new NotNull and NotBlank annotations indicating that a field should not be null or blank. These annotations can be made at class level or individual field level. Moved annotations to their own subdirectory. Added a comment to a method. Extracted constant strings. Moved one annotation to the subclass level. Added support for "Min" annotation. Propagate validation errors up from nested items. Apply field-level validations, even when field is a ParameterGroup. Change-Id: Ic90df55487dc5db7b7b0be5397624d1957904a81 Issue-ID: POLICY-1542 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-03-07Merge "Remove PropertyConfiguration class"Pamela Dragosh2-1766/+0
2019-03-07Remove PropertyConfiguration classJim Hahn2-1766/+0
Removed PropertyConfiguration class, as it has been replaced by the BeanConfigurator class. Change-Id: If97a74fe81875d3eb85d7775ce78a7f2b1fb1f70 Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-03-06Adding client class for sending message to topicramverma5-1/+348
1) Adding TopicSinkClient class for sending messages to topic. The same class will be used for PAP->PDP & PDP->PAP communication. 2) Once this review is through, will raise another one to remove PdpClient from policy/pap. Change-Id: I7253683d9e88885cfbe2ac9041d01da239b9321b Issue-ID: POLICY-1443 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-03-05Merge "Add bean configurator"Liam Fallon3-0/+2050
2019-03-04Add bean configuratorJim Hahn3-0/+2050
Refactored PropertyConfiguration, but left the original class alone until references to it have been removed from other policy repos. Split the Property annotation out into its own file. Cloned the remaining code into BeanConfigurator, modifying its behavior so that, instead of operating on its own subclass, it operates on a provided bean. Also added an ability to copy the bean's fields to a Properties object. Updated license dates. Removed unneeded argument from functional interface. Added comment about always checking default values. Updated a few comments. Change-Id: Iff36fd0524032d7630f9ee08f0eef7b05de100d1 Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-03-04Fix new sonar issue in listenerJim Hahn1-0/+1
Change-Id: I0d718ace3099bfa33508b11beece58447c0943ff Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-03-04Merge "Add various listener classes"Jorge Hernandez9-0/+1256
2019-03-04Adding pdp-common module to policy/commonramverma15-0/+693
1) Adding pdp-common module to policy/common. So that all common code across various pdps will be at one place. 2) Adding java classes for PDP_STATUS, PDP_UPDATE, PDP_STATE_CHANGE & PDP_HEALTH_CHECK messages. 3) Adding enums for PDPHeathStatus, PDPResponseStatus & PdpState. 4) Adding relevant test cases. Change-Id: I13e62f393fbd1c261696783cfe4b7dfff72625ba Issue-ID: POLICY-1443 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-03-01Add various listener classesJim Hahn9-0/+1256
Added various listener classes to support dispatch by message type and request id. The listeners are intended to form a pipeline: TopicSource => MessageTypeDispatcher => RequestIdDispatcher => TypedMessageListener Removed "PAP" from license. Changed "handler" to "listener" in most places. Simplified a test case. Verified that no error message logged on success cases. Removed println from test. Updated some comments. Change-Id: Ife265d14a6c5c8531601d9ce1343b88c1f8986a8 Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-03-01Merge "Add StandardCoderObject to hide GSON internals"Jorge Hernandez5-1/+303
2019-03-01Add StandardCoderObject to hide GSON internalsJim Hahn5-1/+303
Added StandardCoderObject to hide GSON's JsonElement so that classes are not dependent on the use of JsonElement, making it easier to switch out serialization mechanisms in the future. Added a test for field-not-found. Converted tabs to spaces in json test file. Simplified StandardCoderObject and added methods to Coder for translating to and from StandardCoderObject. Removed a test for a method that no longer exists. Added more tests to a test case. Change-Id: I5123dc3f17c940ded431ef7f9ccd8c4bff6b1c5f Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-28Get proper message in test logger appenderJim Hahn2-9/+18
The logger appender that's used in junit tests was getting the raw message, which still had "{}" place-holders in it. Fixed that. Split a test method to avoid checkstyle error. Change-Id: I57571d8717aaee4adb7df186fe156501e9cc669e Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-28Update INFO.yaml Liam's emailPamela Dragosh1-1/+1
est.tech Issue-ID: POLICY-1556 Change-Id: If83637b547d84b4caac6ad9b2b117d0051735c8c Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2019-02-27Add additional encode and decode methods to CoderJim Hahn4-15/+347
Also: Updated some comments and renamed a few parameters. Removed a "throws" for a RuntimeException. Short-circuit some calls. Typo in comment. Let gson create the JsonWriter. Renamed a few more parameters. Change-Id: I22e48c2191820c2a3d0743200edca79bd74353e7 Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-27Merge "Add common coder classes"Liam Fallon6-0/+324
2019-02-27Add common coder classesJim Hahn6-0/+324
Added coder classes as a common utility that can be used to encode and decode json data. Currently, it uses gson, but that can be changed. Separated the Coder interface from implementation. Used assertSame to compare references. Used numbers instead of strings so don't have to deal with escaping quotes in the test cases. Change-Id: Iea9001d2adc5a3150b3367619b5f43e96b5f8b41 Issue-ID: POLICY-1444 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-26Assertion class for DAO codeliamfallon2-0/+288
This class is used by the DAO model code being moved from the APEX PDP to policy-models for generic DAO handling in the Policy Framework Issue-ID: POLICY-1264 Change-Id: I67cca540d9357f9ab16532090cb2edf397b332be Signed-off-by: liamfallon <liam.fallon@est.tech>
2019-02-22Log which gson style is being usedJim Hahn2-2/+8
Different gson providers may be used for REST APIs. Updated the code to identify which was being used. Change-Id: I8ffbda7409142ec728e217a87c9bcba3c34b814b Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-22Merge "Support for lab contextual topic names."Pamela Dragosh31-53/+209
2019-02-21Support for lab contextual topic names.Jorge Hernandez31-53/+209
This work allows a drools application, with its drl template to refer to the topic name by its invariable canonical name, ie. POLICY-CL-MGT. Since the drl is a design time artifact, it is desired to know topics by its canonical non-changeable name. The actual per lab environment topic name may change on a per deployment basis, for example POLICY-CL-MGT-WINDRIVER or POLICY-CL-MGT-TLAB. The template can still use POLICY-CL-MGT without modification but the actual installation configuration would use the "effectiveTopic" property to point to the right topic on a per lab basis. This also helps with installation (long story) since the canonical topics will be known ahead of time. Change-Id: I8322bf7e427569c37a76eea5ce6d5b9547cb2ff3 Issue-ID: POLICY-1534 Signed-off-by: Jorge Hernandez <jorge.hernandez-herrero@att.com>
2019-02-18Remove jackson from policy-endpoints pomJim Hahn3-24/+1
Removed most jackson dependencies from the policy-endpoints pom, leaving jackson-annotations. Moved jersey.version to top-level pom. Change-Id: I73c6fef79d104ef62c7632ad3e02bc52865351cd Issue-ID: POLICY-1531 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-15Add log message when gson usedJim Hahn2-0/+11
Added code to log a message when gson is used instead of jackson. Change-Id: I8cbb8ad8461cc364c3419aaa174cef2680c5a672 Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-15Merge "Remove erroneous comments"Liam Fallon2-8/+0
2019-02-15Merge "Remove unneeded jackson references"Liam Fallon2-7/+0
2019-02-15Remove unneeded jackson referencesJim Hahn2-7/+0
Removed some jackson references that are no longer needed. Others remain; those must remain in place until they are no longer needed by other policy repos. Change-Id: Ica6624baf17be118714bb566c8db3ffce2c3587c Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-15Remove erroneous commentsJim Hahn2-8/+0
Some comments still said that including the maven artifact, jersey-media-json-jackson, could override gson behavior, but that is no longer true. The comments have been removed. Change-Id: I9b6477b76f835b96c52ccb9777b80791fc6b1d77 Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-15Fix sonar issues with gson codeJim Hahn2-12/+28
Fixed issues with GsonTestUtils: - don't set static from within a non-static method - don't throw generic RuntimeException Resolved checkstyle issue. Removed trailing spaces. Change-Id: If0c85733f62a24b56088dc90aadd4b95b3a6c91a Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-14Sonar fixesJim Hahn7-52/+93
Added test for Serializer to increase junit coverage. Added tests for TestTimeMulti to increase junit coverage. Sonar fixes for PropertyConfiguration: - use equalsIgnoreCase - use the exception Updated license dates. Some fixes for LoggerFactoryWrapper to address sonar issue - utility classes should typically have a private constructor. Change-Id: I8957e9673fe8371ecca7abbb7ece87b0d6f46c1a Issue-ID: POLICY-1519 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-14Merge "Add gson handler and tests"Jorge Hernandez36-18/+1290
2019-02-13Refactor common class from gson codeJim Hahn5-230/+381
The TypeAdapters in the gson-jackson code were nearly identical, so a common class was factored out. This also enabled junit tests to attain 100% coverage on that code, whereas there were a couple of branches that could not be tested previously. Addressed new sonar issues. Removed unused import. Change-Id: Id8e6460c881c6ce0239768f182e4e652cd10645f Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-13Add gson handler and testsJim Hahn36-18/+1290
Added JacksonHandler which provides jackson behavior in gson. Also added classes to facilitate testing of gson serializations. Added compareGson(xxx, Class). Removed trailing spaces from some files. Updated license dates. Replaced incorrect constant with ${xxx} in json test file. Fixed typo in test method name. Change-Id: If05b654d76a4ffc88646f03334be82b32506f28f Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-13Merge "Fix sonar issues in gson superclasses"Liam Fallon6-15/+22
2019-02-13Merge "Add jackson behavior for fields"Liam Fallon6-0/+752
2019-02-13Merge "Add jackson behavior for methods"Liam Fallon16-8/+1421
2019-02-13Merge "Replace PolicyAssert with assertj"Liam Fallon2-149/+0
2019-02-12Add jackson behavior for methodsJim Hahn16-8/+1421
Added classes to make gson treat methods as jackson does. Remove unneeded "forGetter" parameter from constructors. Fixed sonar issue with too long "if" test. Corrected comment about annotation names. Adjusted error message. Removed unused constant. Removed trailing spaces. Change-Id: I3a4fc92193737a0dc89f1218e70f093aedbdb152 Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-12Add jackson behavior for fieldsJim Hahn6-0/+752
Added classes to make gson treat fields as jackson does. Added check for input OR output fields. Corrected comment about annotation names. Removed trailing spaces. Extracted some string constants. Fixed checkstyle issue. Change-Id: I665b31774086d72a5a95bee6cf3486a019b72402 Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-12Fix sonar issues in gson superclassesJim Hahn6-15/+22
Fixing some of the issues necessitated the use of generic/raw types. Removed version from assertj in pom. Removed trailing spaces. Change-Id: I76e0a05ca06c103ccc876675be04a4ab5e4de5ea Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-11Add Serializer interfaceJim Hahn1-0/+38
Added missing Serializer interface, needed by other gson classes. Change-Id: I4c37dea89011a833d71c11e2d2c4d74ad768e750 Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-11Merge "Add superclasses for gson-jackson migration"Liam Fallon19-24/+2340
2019-02-11Merge "Return true only if thread has been really started"Pamela Dragosh1-1/+2
2019-02-08Add superclasses for gson-jackson migrationJim Hahn19-24/+2340
Added common classes needed by other gson-jackson code. Modified some logic to make it more maintainable or perform better. Updated comments and spacing. Fix another comment. Moved gson classes from utils to a separate gson project. Added GsonXxx annotations to mirror jackson annotations. Removed unneeded dependencies from gson pom. Removed old GsonMessage class from policy-endpoints. Removed trailing spaces. Updated licenses. Removed more trailing spaces. Removed unneeded checkstyle suppression file from utils. Change-Id: I1a285500faeb0a0b6a1467d09b92ecd3cded713e Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-08Replace PolicyAssert with assertjJim Hahn2-149/+0
Removed PolicyAssert from utils-test, as its functionality is superseded by assertj. Change-Id: Ie7620fea98cd368a8ce4f8511e8e88f291013cff Issue-ID: POLICY-1392 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-08Return true only if thread has been really startedKrzysztof Opasiak1-1/+2
Accortding to doc start() should return true if start operation was successful. Unfortunately value of this.alive may change between end of synchronized block and return for example when other thread executes stop() in parallel. Change-Id: I4103f0f4c65620c47b4acf2d276f104937b91187 Issue-ID: POLICY-1387 Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
2019-02-06Merge "Skip all fields in gson by default"Pamela Dragosh2-0/+306
2019-02-05Skip all fields in gson by defaultJim Hahn2-0/+306
Created an exclusion strategy that will prevent gson from serializing any fields within a class. The strategy must be registered to take effect. Uses lists to identify classes to be excluded when using gson with the jackson default behavior. Change-Id: I747fb1159846ad3000f69603f9b5d3f03bc8764f Issue-ID: POLICY-1428 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-01-31Fix potential race conditionKrzysztof Opasiak1-1/+1
init() is currently called outside of synhronized block. This is may lead to race condition as init() creates new bus consumer (this.consumer) which is the copied and nulled in stop() synchronized block. This may lead to race condition if: Thread #1 Thread #2 this.alive = true; this.alive = false consumerCopy = this.consumer; this.consumer = new Consumer(); // false if(consumerCopy != null) { consumerCopy.close(); } else { log.warn(); } As a result, new BusConsumers are being created but they are never close(). Issue-ID: POLICY-1387 Change-Id: I2eadb12ef1c4b07b9e47dc6ebc096acc713299a0 Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>