Merge "user guide demo for monitoring gui"
[policy/parent.git] / docs / drools / modTemplate.rst
1
2 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
3 .. http://creativecommons.org/licenses/by/4.0
4
5 ******************************
6 Modifying the Release Template
7 ******************************
8
9 .. contents::
10     :depth: 3
11
12 This tutorial is intended for Policy Drools Applications developers who would like to test their code using the PDP-D in Eclipse instead of installing in a lab. The example for this tutorial will walk through making a change to the Amsterdam Control Loop Template, building the archetype project, and instantiating a controller with the PDP-D.
13
14 Installing the Archetype Project in Eclipse
15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16
17 **STEP 1:** First, open the drools-pdp project in Eclipse and navigate to File → New → Project...
18
19     .. image:: mat_new_project.JPG
20
21 **STEP 2:** Navigate to Maven → Maven Project
22
23     .. image:: mat_maven_project.JPG
24
25 **STEP 3:** For demo purposes, the location of the project will be put in Documents/demo. Hit next to proceed.
26
27     .. image:: mat_project_location.JPG
28
29 **STEP 4:** Click  "Configure" near the top right.
30
31     .. image:: mat_configure.JPG
32
33 **STEP 5:** Add a Remote and/or a Local catalog
34
35    **STEP 5.1:** Add a Remote Catalog to find the ONAP staged drools-applications
36
37       **STEP 5.1.1:** Click "Add Remote Catalog..."
38
39           .. image:: mat_add_local_catalog.JPG
40
41       **STEP 5.1.2:** Add the ONAP Staging repository archetype-catalog.xml (https://nexus.onap.org/content/groups/staging/archetype-catalog.xml) with a description if desired. Click "OK" then "Apply", then "OK".
42
43           .. image:: mat_nexus_catalog.JPG
44
45       **STEP 5.1.3:** The ONAP staging archetypes are now an option:
46
47           .. image:: mat_archetypes.JPG
48
49    **STEP 5.2:** Add a Local Catalog to find a local drools-applications in your .m2 local repository
50
51       **STEP 5.2.1:** Click "Add Local Catalog..."
52
53           .. image:: mat_add_local_catalog.JPG
54
55       **STEP 5.2.2:** Browse to or type in the path to your .m2 repository, give it a name and click "OK"
56
57           .. image:: mat_nexus_local_catalog.png
58
59       **STEP 5.2.3:** The new local repository appears on the catalog list, click "Apply and Close"
60
61           .. image:: mat_local_archetypes.png
62
63 **STEP 6:** If you wish to use a snapshot version of drools-applications, make sure to check the "Include snapshot archetypes" box. Highlight the option with the Artifact Id "archetype-cl-amsterdam" and click next. 
64
65     .. image:: mat_select_archetypes.png
66
67 **STEP 7:** The following screen allows the user to modify some of the configurable parameters of the control loop. For this demo the default parameters that are already populated will be used. Fill out the Groud Id, Artifact Id, Version, and Package and hit "Finish". For the demo the following is used:
68
69     .. image:: mat_archetype_params.JPG
70
71 **NOTE:** If you are using a snapshot version of drools-applications. make sure that the "dependenciesVersion" variable value you specify matches the drools-applications artifact versions
72
73     .. image:: mat_archetype_checkparams.png
74
75
76 **STEP 8:** Depending on the IDE in use, an error may be generated about handling the kie-maven-plugin:6.5.0.Final:build plugin. This can be ignored, click "Finish" and then "OK" if a warning pops up about having build errors.
77
78     .. image:: mat_error.JPG
79
80 **STEP 9:** Amsterdam can now be seen in the Project Explorer:
81
82     .. image:: mat_amsterdam_project.JPG
83
84
85 Modifying the Amsterdam Template
86 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
87
88 // TODO Modify for frankfurt
89
90 **STEP 1:** Expand the amsterdam project and "src/main/resources". The drl generated from the archetype will be present as follows:
91
92     .. image:: mat_amsterdam_drl.JPG
93
94 **STEP 2:** Now a change will be added to the drl from above. For this tutorial, a new logging statement will be added that will show in the console of Eclipse when the changes are tested. We'll add this in the SETUP rule.
95
96     .. image:: mat_hello_world.JPG
97
98 **STEP 3:** Right click on the Amsterdam project, hover over "Run As", then click "Maven build".
99
100     .. image:: mat_maven_build.JPG
101
102 **STEP 4:** For the goals type "clean install", click "Apply" and then click "Run".
103
104     .. image:: mat_clean_install.JPG
105
106     .. image:: mat_build_success.JPG
107
108 Running the PDP-D with the Amsterdam Controller
109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
110
111 **STEP 1:** Copy the controller properties file that was generated from the archetype in amsterdam/src/main/config into policy-management/src/main/config
112
113     .. image:: mat_amsterdam_controller.JPG
114
115 **STEP 2:** Go src/main/java and expand the package "org.onap.policy.drools.system". Right click on "Main.java", then hover over "Run As..." and click "Java Application".
116
117     .. image:: mat_run_as.JPG
118
119 **STEP 3:** Search through the console for the logging statement "\***** HELLO WORLD \*****". This indicates that the template change worked. Modifications can continue to be made and the Telemetry API can be used to interact with the PDP-D that is running in Eclipse and to test control loop flows.
120
121     .. image:: mat_console_output.JPG
122
123
124
125 End of Document
126
127
128 .. SSNote: Beijing release update. https://wiki.onap.org/display/DW/Modifying+the+Release+template
129 .. SSNote: Wiki page ref. https://wiki.onap.org/display/DW/Modifying+the+Amsterdam+release+template
130
131