aboutsummaryrefslogtreecommitdiffstats
path: root/models-interactions/model-actors/actorServiceProvider/src/main
AgeCommit message (Collapse)AuthorFilesLines
2021-02-10More sonars in modelsJim Hahn6-13/+13
Addressed the following: - make constructors protected - check exception type - too many assertions - remove annotation lists - use "<>" - reduce cognitive complexity - extract constant - multiple method calls in one assert - don't use eq() in verify() - indentation Issue-ID: POLICY-2905 Change-Id: I25bb3951f781250e9cdfe8f5f3b80cb63e129184 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-11-30Remove targetEntity from makeOutcomeJim Hahn2-13/+6
The Actor Params class had two flavors of makeOutcome, the second of which took a "targetEntity" parameter. As the Params no longer deal directly with the targetEntity, the second flavor was removed. Issue-ID: POLICY-2804 Change-Id: Ic736dd1c809ce54f6bb7cd37d03bc84cf4a1410c Signed-off-by: Jim Hahn <jrh3@att.com>
2020-11-20Delete preprocessed flag from actorsJim Hahn2-28/+14
Removed the "preprocessed" flag from the Actor parameter class, now that the actors no longer have a startPreprocess() method. Also removed targetEntity from Actor parameter class. Created a makeOutcome method within OperationPartial, which is used to create an initial outcome whose target field is pre-populated with the target-entity extracted from the properties. As the meaning of "target" may be specific to an operation, the makeOutcome method may be overridden by an operation subclass. Issue-ID: POLICY-2804 Change-Id: Ifb66de63301d644e69340009593513773ee5672d Signed-off-by: Jim Hahn <jrh3@att.com>
2020-11-18Merge "Make Actors event-agnostic"Ram Krishna Verma4-352/+26
2020-11-06Fix upcoming checkstyle issuesPamela Dragosh1-1/+1
When we upgrade to oparent, these will fail as oparent upgrades to 8.37 of puppycrawl which fixes a few bugs that should have flagged these previously. Issue-ID: POLICY-2887 Change-Id: Ia0ceab23ff3d5c177f657c5852115ab1b265c698 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2020-10-27Make Actors event-agnosticJim Hahn4-352/+26
Removed event and event-context code from the Actor code. Also removed the preprocessing steps from the Actor code, giving the application complete control over any preprocessing. Also fixed a bug wherein the APPC actor was treating the AAI_RESOURCE_VNF property as a String instead of as a GenericVnf. Issue-ID: POLICY-2746-actor Change-Id: Ibc05fe39ffedc0bc461abf10e6a960861ac70119 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-08-27Remove Target and TargetTypePamela Dragosh8-27/+302
The dependency should have been removed in the last review to remove SDC and policy-yaml legacy code. It was revealed that usage of TargetType and Type were spread out over the actor code. Those fields are represented differently in the new TOSCA Operational Policy Type, so fields were created to capture those values to be used by actor code. Issue-ID: POLICY-2428 Change-Id: Ib783526a518ca7942ae9e38019bd343639f4dd98 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2020-08-18Make targetEntity a propertyJim Hahn4-44/+80
The target entity is not always known when an Operation is first constructed, thus it should be treated as an Operation property instead of being included within the ControlLoopParams. Started the process of moving it from the Params to the properties. Also fixed a bug in custom query - it was setting the outcome response to the String response instead of setting it to the AaiCqResponse object. Also added logging when an Operation's properties are set. Issue-ID: POLICY-2746 Change-Id: I56c0cd90985f6140363548b0b8d031471b586e88 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-08-13Do not require context in ControlLoopOperationParamsJim Hahn1-3/+41
Modified ControlLoopOperationParams so that the request ID can be provided instead of the context. However, if the request ID is not provided, then it still requires a context. (This requirement should be lifted in a subsequent review). Issue-ID: POLICY-2746 Change-Id: Ib00f46f2fe56430d700ee2edfba12f2c1a106a3f Signed-off-by: Jim Hahn <jrh3@att.com>
2020-08-06Modify Actors to use properties when providedJim Hahn2-15/+115
Modified the Actors to use properties when the application provides them instead of going to the event context for the data. This sometimes entailed moving code out of the Operation subclass constructor that used or validated the context data. Combined some property names and renamed others. Changed VF Count from AtomicInteger to Integer. Issue-ID: POLICY-2746 Change-Id: Ib8730538309bb77d2f4f6161e9a20a49362d8972 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-08-04Skip preprocessor step in ActorsJim Hahn1-0/+5
Modified Actors to skip the preprocessor step if the "preprocessed" flag is set to true in the parameters. Did not add any error checking code to ensure the data was actually available to the operation - will add that once the properties are being set by the application code. Extracted common code in GrpcOperationTest into the setup method. Issue-ID: POLICY-2746 Change-Id: Id70c31a2c96a7aaa9d73cc70cdf4f55f8a4e087f Signed-off-by: Jim Hahn <jrh3@att.com>
2020-07-31Add property lists to ActorsJim Hahn7-8/+140
Modified the Actor code to provide a list of properties needed by the actor to perform a given operation. Added a build() method to the parameter class so invokers can build an operation and set its properties prior to starting it. Added a "preprocessed" field to the parameter class so invokers can indicate that the Actor need not perform any preprocessing steps. Will modify the actors, in a subsequent review, to observe the flag. Added "properties" to Operation so invokers can set the properties. Will modify the actors, in a subsequent review, to use the property values instead of the event context. Tweaked a few Actors to get values using the "params" object instead of reaching inside to the event object that it contains. Addressed review comment(s): - add prefix to other property names Issue-ID: POLICY-2746 Change-Id: I65996aef5cec5afe25e8287c0b2f5f322c532ca5 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-07-21Fix some sonars in policy-modelsJim Hahn3-3/+0
Fixed the following sonar issues in some of the project directories: - use assertNull, assertEquals, etc. - swap assertEquals arguments - extract a constant - don't invoke toString() in logger calls - TODOs - generic types Issue-ID: POLICY-2714 Change-Id: Id8803f9bf617ea9fc173a67b8606600709b55bdc Signed-off-by: Jim Hahn <jrh3@att.com>
2020-07-13Remove legacy actor code from modelsJim Hahn2-40/+0
Deleted legacy actor code. That includes deleting most of the XxxManager classes. Issue-ID: POLICY-2559 Change-Id: I1ef1b900ca1d23e88da64b2c95a18986feb1b765 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-06-18Changes for Checkstyle 8.32liamfallon2-2/+1
Issue-ID: POLICY-2188 Change-Id: I6db16763c1d2d80ff934302081a8dfc16afa7d9a Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-06-12Moving common polling code into HttpOperationJim Hahn9-89/+503
SO and VFC have duplicate code for polling. Moved it into the common superclass. Issue-ID: POLICY-2632 Change-Id: I27128bfb2d54ef522b6b44ff569819a8463f3454 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-06-11Default ActorImpl should have an "operations" propertyJim Hahn4-6/+13
Added "operations" level to actor properties. Also renamed CommonActorParams to ActorParams, in the process. Note: This impacts the properties specified in drools-apps. Issue-ID: POLICY-2629 Change-Id: I155bcb6ced73cb54e656d34e0b184fb2ed6250d1 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-06-03Merge "Use plain HashMap instead of IdentityHashMap"Pamela Dragosh2-5/+6
2020-06-02Use plain HashMap instead of IdentityHashMapJim Hahn2-5/+6
The javadocs say not to use IdentityHashMap except in special cases. Modified the Actor code to use HashMap instead. Issue-ID: POLICY-2604 Change-Id: Idcae4fe2e1e600fbb01cdcd09b1caddf2820740a Signed-off-by: Jim Hahn <jrh3@att.com>
2020-06-02Change Actor makeCoder() to getCoder()Jim Hahn3-4/+4
Issue-ID: POLICY-2603 Change-Id: I29d5c73f4b8b129bfdd6d0c9fb6d766b260e27c4 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-05-29Use "coder" to serialize Actor requestsJim Hahn3-25/+31
Modified the Actors to use the "coder" to serialize requests instead of defaulting to the HttpClient serialization provider. Decided to just pretty-print the requests since that can be used for both logging and transmission, which avoids serializing the request twice. Issue-ID: POLICY-2601 Change-Id: I190ed19dd852a1aa66156b358cbc97c3b121af1f Signed-off-by: Jim Hahn <jrh3@att.com>
2020-05-29Do not generate notification in SDNR ActorJim Hahn1-3/+0
Now that the SDNR Actor populates the operation outcome with the SDNR response, it no longer needs to populate the notification structure, as the application (e.g., drools-apps) can now generate the notification, itself, using the response. Issue-ID: POLICY-2593 Change-Id: Ie9bed0e59ca750211f17782fa7a2833c2087ac23 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-05-27Include response in OperationOutcomeJim Hahn3-0/+9
Added the response field and modified the actors to populate it. Issue-ID: POLICY-2592 Change-Id: I24487b6fbc23b69bde4a95acd470864d8231c49d Signed-off-by: Jim Hahn <jrh3@att.com>
2020-04-08SDNR Actor enhancementsJim Hahn1-0/+3
Made the following changes: - Enhanced SDNR Actor to support any operation name specified within the policy, constructing the same request, but passing a different "RPC name" and "Action" in the request. - Added ControlLoopResponse to OperationOutcome - Modified SDNR Actor to populate ControlLoopResponse Issue-ID: POLICY-2468 Change-Id: I50ee0674077d975f3cd211454656edc47d78520f Signed-off-by: Jim Hahn <jrh3@att.com>
2020-04-01Set sub request ID before start callbackJim Hahn2-8/+24
Modified new actor code to generate the sub request ID before invoking the start callback. Issue-ID: POLICY-2461 Change-Id: I4adabd6efda2c30c0e2da31f95f01dd5fe546c0a Signed-off-by: Jim Hahn <jrh3@att.com>
2020-03-30Test new actors against simulatorsJim Hahn1-1/+1
Also modified HttpParams to allow "path" to be blank to support any cases that really have no "path" to append to the context URI base path. Issue-ID: POLICY-2405 Change-Id: I49eebde6759659d2804b5a11c1504c37674bd0c4 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-03-23New Guard actor request structure is incorrectJim Hahn1-9/+2
Missing various fields within the request structure (e.g., ONAPName). Fixed. In the process, also modified makeGuardPayload() so that it only constructs the inner "guard" JSON object, making it easier for invoking code to modify it. Issue-ID: POLICY-2434 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I7d34a279845bb98425caf66565eab7513d310815
2020-03-20Exception not propagated by processResponseJim Hahn1-5/+10
If the topic processResponse() method throws an exception, then the actor/operation is left in an incomplete state. Issue-ID: POLICY-2434 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I6c5d149d4046fbfb970c8dd831fc3938516d1115
2020-03-10Immediately finish if guard is disabledJim Hahn1-2/+2
Modified the Guard Actor to check the "disabled" flag during start() instead of waiting until it gets down into startOperationAsync. Issue-ID: POLICY-1625-guard-disabled Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Id6ccf506b82504552d6e1f4637ad11e2e41e77e5
2020-03-06Add subrequest ID to OperationOutcomeJim Hahn1-3/+8
Rule notifications need the subrequest ID to be populated in the OperationOutcome object, where possible. Issue-ID: POLICY-2385 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Ic44320f67ad8df7bcb3000cfa667f95427818e71
2020-03-06Log full URL for REST callsJim Hahn1-14/+10
Actors only log the URI, without the host and port info. Modified to log the full URL. Also adjusted URLs for trailing "/". Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I0c9a2d139258ef23bc363a873b56f5cb4680247d
2020-03-05Add other APPC-LCM operationsJim Hahn2-0/+13
Also added legacy ModifyConfig as an operation within APPC-LCM. Added logging to topic registration keys. Issue-ID: POLICY-2403 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Ia54a573fd6218a8afe870184b9a3baebc05b766a
2020-03-04Fix exception message in ActorsJim Hahn1-1/+1
Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I1efa70785e162c9a02ed90f5f8d94e85d2432d73
2020-03-03Merge "Fix path issues"Ram Krishna Verma1-1/+1
2020-03-03Merge "Don't log cancellation exception"Jim Hahn1-2/+9
2020-03-02Log topic message before publishingJim Hahn1-2/+2
Code was publishing and then logging the message. Reversed the order. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I1b5dd5e96d86d818cd38d2a671fb37c2576e2054
2020-03-02Don't log cancellation exceptionJim Hahn1-2/+9
When an Actor operation is canceled it's done on purpose, yet the whole exception stack trace is included in the log. Modified the code to leave out the stack trace for cancellations. I don't THINK this will cause a sonar issue, as it isn't the exception is never caught via a "catch" clause. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Ib5238e4791ae491b30286cdc8ed9caf67432dc26
2020-03-03Fix path issuesJim Hahn1-1/+1
A&AI tenant query is prepending the target entity with "/", but it should not. Fixed it. Modified A&AI and SO actors to get path prefixes from parameters. Fixed a bug in an A&AI simulator response (extra "}" at the end. Issue-ID: POLICY-2349 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I71f8b1e5fb8a4bd29b4f616a7757d366c7d58127
2020-03-02Log Actor parameter error messageJim Hahn2-14/+3
When an operation cannot be configured, the message did not include information describing the issue. Fixed it. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I671bf27693a8bfa87305099fcefa0e4e0c48928d
2020-03-01Merge "Add sequence number to Actors"Ram Krishna Verma3-12/+49
2020-02-29Add sequence number to ActorsJim Hahn3-12/+49
When actors with duplicate names are loaded, a way is needed to determine which should take precedence. Added a sequence number to Actor to facilitate this. Unfortunately, couldn't use OrderedServiceImpl, because it only creates the Actors once, which would break a number of junit tests. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I1ade92f4fe516cfc54bb92d0a3624c67e8981075
2020-02-29Sequence throws NPE if task outcome is nullJim Hahn1-2/+2
If a task outcome is null, then sequence() throws an NPE. Modified it to treat a null outcome as a failure. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I57b8be27f72c7cbf43e0b3b8816696ab1928f396
2020-02-26Change ActorService config to Map<String,Object>Jim Hahn1-4/+6
It's a bit of a pain to pass Map<String, Map<String,Object>> to the ActorService configure() method. Changed it to simply take a Map<String,Object>, as it had been in a previous iteration. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Ib6e703115027bc4919cc93762ca5b38d254f2b8f
2020-02-26ActorService constructor should be publicJim Hahn1-1/+1
Now that ActorService is no longer a singleton, the constructor should be public so other classes can create an instance. Also added a test to verify that each ActorService instance gets its own instances of the actors. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I78cabecc0ca6b355696a5d27489a4e59b6e7c012
2020-02-26Merge "Remove ActorService singleton"Ram Krishna Verma1-13/+0
2020-02-25Eliminate a couple more xxxAsync calls in ActorsJim Hahn1-6/+12
Eliminated a few more xxxAsync calls in Actors. Now, the remaining xxxAsync calls are necessary so that the callbacks are executed using the executor specified via the "params". Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Ia4ff758f71f8bbe014ae5b1a58d8439c0d4ea2ed
2020-02-25Remove ActorService singletonJim Hahn1-13/+0
The ActorService singleton is not needed at this time, so it was removed. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I9b4cbb72cedbeb77b39422e71650ab60c9aec7ec
2020-02-25Add PipelineUtilJim Hahn2-8/+56
Issue-ID: POLICY-2385 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I7745e8286dd6f086941b979f16b2328bfa066788
2020-02-24Add "finalOutcome" flag to OperationOutcomeJim Hahn2-24/+43
The Actor clients receive notifications of operation failures, but no indication if it's the final failure, thus they do not know if they should progress on to the "failure" policies. Issue-ID: POLICY-2385 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: If053ed459e1d790e58eca950a8feeabaf4d67a41
2020-02-21Change payload to Map<String,Object> so it's more versatileJim Hahn5-13/+74
This was supposed to be two separate commits, but I goofed something. Added guard query to Operation superclass. Modified VfModuleCreate to store the VF count, pass it to the guard, and bump it once the create completes successfully. Added code to check Actors for proper plug-in to ActorService. Renamed "operation" property to "operations", to be more consistent with other parameters (e.g., TopicParameterGroup). The META-INF/services files for the actors had mixed case, which did not match the package name of the Actor class, preventing the ServiceLoader from recognizing them. Also modified the ActorService to skip any that cannot actually be loaded, for whatever reason (e.g., not in the classpath). Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Ifa97744543f2866cc553138ec5ec644b033de780