Age | Commit message (Collapse) | Author | Files | Lines |
|
with current DRL rules files syntax.
Issue-ID: POLICY-4857
Change-Id: If4b385bdef865d07114b8ea0e69abb4589f3a97b
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
|
|
Issue-ID: POLICY-4402
Change-Id: I4ce5b303cb3a775010683d3c7102b0bd065280ea
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
|
|
- Upgrade Hibernate
- Upgrade Mockito
- Upgrade Mockserver
- Remove Powermock (no longer supported) and replace with spring-test ReflectionTestUtils
- Upgrade Spring Framework
- Add spring-security to allow authentication on unit tests using MockMVC
Minor clean-up
- Replace deprecated authorization configuraiton on spring boot applications with SecurityFilterChain bean
- Change @LocalPort include on tests to use test include rather than runtime include
- Remove unused imports
- Remove unused constants and variables
- Add deprecation annotations where required
Issue-ID: POLICY-4482
Change-Id: Ibc2097f6d832a893c9e99a01b79121c28ba878ad
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
This allows also for correlation with running pod hostnames
in the case of multiple drools pdp flavors coexist.
Issue-ID: POLICY-4403
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Change-Id: I81affeeec622e6c0e9627651bf34c0775a796827
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
|
|
Issue-ID: POLICY-4045
Change-Id: I3ee1bce6f71c46a5b6ca819316b210a2a2ff8993
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Also modified distributed locking to use the unique name, in case the DB
is shared.
Issue-ID: POLICY-3410
Change-Id: I046a9ffdcb62f3d84d7d388a1e64bcf025fbbf75
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
The dependency upgrades in policy-parent caused some new sonars. In
particular, initMocks() has been deprecated - replaced with calls to the
Mockito Runner. Changed one to openMocks() because using the Runner
caused it to fail on jenkins, but not in the local eclipse.
Also fixed a type safety issue with EMPTY_LIST.
Issue-ID: POLICY-2909
Change-Id: Iea9420190f208d7de3bf3ad531515c92e0fab83f
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Fixed sonar issue:
- Refactor the code of the lambda to have only one invocation throwing
an exception
Issue-ID: POLICY-2616
Change-Id: I8d96b95d0da9a780daacec7a4de17167642b03c1
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
In some conditions for assertTrue, sonarcloud
recommends using assertEquals
Assert.assertTrue(a.equals(b));
Assert.assertTrue(a == b);
Assert.assertTrue(a == null);
Assert.assertTrue(a != null);
Assert.assertFalse(a.equals(b));
Compliant Solution
Assert.assertEquals(a, b);
Assert.assertSame(a, b);
Assert.assertNull(a);
Assert.assertNotNull(a);
Assert.assertNotEquals(a, b);
Issue-ID: POLICY-2616
Change-Id: Ib362573bd865d1b561916bf64640c8ddeaa02546
Signed-off-by: Taka Cho <takamune.cho@att.com>
|
|
Addressed the following sonar issues:
- add "final" to public static fields
- commented code; some were bogus - just updated the comments
so sonar is happy
- use "{}" instead of string concatenation
- junit should assert something
- when using logger, invoke compute-intensive tasks conditionally
- use superclass name instead of subclass name to access static fields
- don't always return the same value
- remove "transient" from fields of classes that aren't Serializable
- don't nest try/catch blocks
- use appropriate class name in Logger.getLogger()
- use Predicate<T> instead of Function<T,Boolean>
- remove unused parameters from private methods
- either log or throw
- remove duplicate methods
- use remove() TLS instead of set(null)
- null check is implicit in instanceof check
- do something with return value
- don't use volatile
- don't return "null" list; used Optional instead
- add no-arg constructor to non-Serializable superclass
- add callSuper=true for EqualsAndHashCode
- don't declare "throws XXX" where XXX is a subclass of RuntimeException
- remove serialVersionUID field if the class isn't Serializable
Also addressed some eclipse warnings:
- unused fields
- suppress generic typic cast warnings
Issue-ID: POLICY-2305
Change-Id: I906d5bf71c1f86531423e23b3667a585cdba45e1
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Issue-ID: POLICY-1589
Change-Id: I0ed05c6e471a7da6658e02a4ba3115d3a117cedd
Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
|
|
Injects the callback as a DroolsRunnable into the session, if
there is one. Otherwise, it invokes it via the engine's
thread pool.
Issue-ID: POLICY-2246
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I214480ae675d89e7335dde4eb4abe2684f7ef8ab
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Change-Id: I8910a1a4267d824f064b52c6ad08945590bd9617
Issue-ID: POLICY-2203
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
The commons library wraps the SQLExceptions within its own SQLException,
so changed the code to simply look for a cause that's SQLTransientException,
eliminating the need to check specific error codes. Deleted the error
code property now that it is no longer needed.
Also updated the distributed locking properties to include examples.
Issue-ID: POLICY-2113
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: If46e85a81cfc952e561174fea670df81efb8309a
|
|
Modified PolicyResourceLockManager to just return a feature, deferring
the lock() call/method to the feature, itself. The manager was also
modified so that, if it can't find an enabled provider, it will return
a default provider, whose lock() methods always fail. Once a feature
has been identified, the manager will cache it for use thereafter.
Modified the feature API to return lock objects and simplified the
interface to remove the beforeXxx and afterXxx methods.
Moved the unlock and refresh methods from the feature API into the
lock class, renaming them to free and extend, respectively.
Added a separate, feature-simple-locking project, which implements
a simple version of the locking feature, over a single JVM.
Extensively revised the distributed locking feature to fit in with
the new API.
Added support for persistence so that the various LockImpl classes
can be serialized and still function correctly when they are
deserialized back into new feature instances
Added default implementations of free & extend to LockImpl.
Modified API to take the ownerKey string, instead of the owner object.
Removed Extractor as unneeded - may add via another review, if still useful.
Updates per review comments:
- Updated licenses in feature-simple-locking
- Added beforeCreateLock & afterCreateLock to feature API
- Moved SimpleLockingFeature into policy-management so that it's
always available
- Moved the executor service, "exsvc", into PolicyEngine
- Moved Extrator into policy-utils
- Changed Extractor logging level for exceptions
- Fixed feature sequence numbers
- Fixed mixing of seconds and milliseconds
- Renamed exsvc
- Modified to use property method with default value
- Configured scheduled executor
- Added suffix to Extractor.register()
- Eliminated Feature Api and tied lock manager into engine
- Added non-null checks to LockImpl parameters
- Added non-null checks to createLock() parameters
- Checked that lockManager is initialized
Change-Id: Iddba38157ddc5f7277656979c0e679e5489eb7b1
Issue-ID: POLICY-2113
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Address sonar issue, "Move constants to a class or enum", by
moving them from interfaces to classes:
ActiveStandbyFeatureApi
StateManagementFeatureApi
PolicyResourceLockFeatureApi
PolicySessionFeatureApi
DroolsController
DroolsControllerFeatureApi
PolicyControllerFeatureApi
PolicyEngineFeatureApi
HealthCheck
SystemPersistence
EventProtocolCoder
PolicyController
PolicyEngine
TestTransaction
MdcTransaction
Address sonar issue, "Move constants to a class or enum", by
change the interface to a class:
DroolsProperties
Address sonar issue, "Override the "equals" method in this class", by
adding equals & hashCode to:
DroolsPdpEntity
DroolsPdpImpl
Use lombok for a number of getters & setters.
Address sonar issue, "Define a constant instead of duplicating this
literal" in:
DroolsPdpsElectionHandler
JpaDroolsPdpsConnector
MavenDroolsController
GenericEventProtocolCoder
GsonProtocolCoderToolset
RestManager
Address sonar issue, "Remove the parentheses around the parameter" in:
MavenDroolsController
Address sonar issue, "Replace this lambda with a method reference" in:
LifecycleFsm
Address sonar issue, "Move this constructor to comply with Java Code
Conventions" in:
LifecycleStateRunning
Address sonar issue, "Replace this 'switch' statement by 'if'
statements to increase readability", as specified in:
PolicyEngineManager
Address sonar issue, "Rename field to prevent any misunderstanding/clash
with field" in:
MdcTransactionImpl
Address sonar issue, "Either log or rethrow this exception", in:
RestManager
Address sonar issue, "Rename this constant name to" uppercase, by
replacing enums with static lists in:
RestManager
Addressed review comments:
Fixed license dates.
Renamed getSiteName/setSiteName methods to getSite/setSite in
the interface to match the field names in the implementation
classes.
Renamed *Instance classes to *Constants.
Next round of review comments.
Change-Id: I1c26af9f194833dd773f2b25dc5f60cde163201c
Issue-ID: POLICY-1968
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added coverage to distributed locking.
Added coverage to test-transaction - still more to do.
Added coverage to healthcheck - still more to do.
Also fixed "code smell" in pooling.
Also fixed "code smell" in session persistence.
Fixed typo in comment.
Removed unneeded setUp() method from test.
Fixed new checkstyle errors.
Fixed another new checkstyle error.
Change-Id: I0d2ab13fcbd64486af88affb02e114e624c6a3d1
Issue-ID: POLICY-1148
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Fixed last remaining checkstyle issues along with
setting the pom.xml to the correct path setting.
Fixed forbidden summary fragments, not allowed
to prepend summary with "This method returns"
Issue-ID: POLICY-1153
Change-Id: I267842080494132a7b5507731e14f027a3f6fe44
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
These are the remaining submodules that have checkstyle. Pretty
clean compile after this. There were a couple of sonar fixes
in there also.
Issue-ID: POLICY-882
Change-Id: I8191ea1aa261f4a7b9d3d21c108572fd31db1b8c
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
This is the final step of separating the lock "refresh" operation
from the original "lock" operation. This step entails rejecting
subsequent "lock" requests, even by the same owner, when a resource
is already locked; "refresh" should now be used, instead, to extend
a lock.
Modified comments to indicate that the lock can only be extended
using "refresh".
Change-Id: I406cf60c076dbce87afbd94fb301732359dbd2db
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
This is the first step of separating the lock "refresh" operation
from the original "lock" operation. This step entails adding the
refresh() method to both the default and the feature-distriubted
locking mechanisms.
Change method call, in junit test, from lock to refresh.
Change branch name in git review.
Change-Id: I506de7a96cb3ee786839aca04ad67cdd7378832c
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Modified distributed locking code to use the DB time (i.e., "now()") when
determining expiration times of locks. This will eliminate concerns that
may arise from different timestamps on different JVMs. As part of the
change, the expirationTime column was changed from BIGINT to TIMESTAMP.
Rename 1810 sql scripts to 1811, to match release date.
Change-Id: Ibfb15742f447133b001e4340027657ac202864a6
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Modified the locking facility to add a time limit and remove the
callback parameter. This affected both the default facility as
well as the distributed locking feature. It will also require
a change to the rules for Closed Loop.
Changed testUnlock() to try locking with a different owner.
Default feature API should be OPER_UNHANDLED.
Put a few things back so-as not to break the drools-applications
build. They can be removed once drools-applications is updated.
Fix newlines in API java.
Change-Id: I3ed7835cac6a582493a9bc8f6d1d4f3e6cb6289e
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Made a number of changes to the locking code in policy-core, to address
sonar issues. This entaileed changing some of the Lock API methods to
return OperResult instead of Boolean.
Updated distributed locking with the new API return types.
Simplified Thread creation using functional methods.
Change-Id: If32bf7a435d2aedb969de1b77c7e7e27e110ecb0
Issue-ID: POLICY-728
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added protected method to Heartbeat class that allowed for the passing
of a CountDown latch. This will resolve the timing-related junit
failures in Jenkins environment.
Issue-ID: POLICY-729
Change-Id: I3d2d8bddfb6d9f82be54a2f13bdcd7e1fc65a286
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
This feature is a very basic implementation of a distributed locking
system.
Issue-ID: POLICY-699
Change-Id: I012fd37926ccbbdd87a3e4acb2788b53680115f0
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|