From 669915c559fb9bcd4a8f8d5239f0b9b6ab33436b Mon Sep 17 00:00:00 2001 From: Dinh Danh Le Date: Sun, 5 Aug 2018 09:54:13 +0100 Subject: Adding Apex docs for Plugins module Change-Id: Icf68473b472a5896972de5b07b275682a77a1c9f Signed-off-by: Dinh Danh Le Issue-ID: POLICY-867 --- .../plugins-context-schema-avro/pom.xml | 19 +++- .../adoc/fragments/ctx-schema-avro-config.adoc | 49 ++++++++++ .../src/site/asciidoc/engine-config.adoc | 14 +++ .../src/site/css/site.css | 100 +++++++++++++++++++++ .../src/site/images/logos.png | Bin 0 -> 162383 bytes .../plugins-context-schema-avro/src/site/site.xml | 29 ++++++ .../plugins-context/plugins-context-schema/pom.xml | 17 ++++ .../plugins-context-schema/src/site/css/site.css | 100 +++++++++++++++++++++ .../src/site/images/logos.png | Bin 0 -> 162383 bytes .../plugins-context-schema/src/site/site.xml | 27 ++++++ 10 files changed, 354 insertions(+), 1 deletion(-) create mode 100644 plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site-docs/adoc/fragments/ctx-schema-avro-config.adoc create mode 100644 plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/asciidoc/engine-config.adoc create mode 100644 plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/css/site.css create mode 100644 plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/images/logos.png create mode 100644 plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/site.xml create mode 100644 plugins/plugins-context/plugins-context-schema/src/site/css/site.css create mode 100644 plugins/plugins-context/plugins-context-schema/src/site/images/logos.png create mode 100644 plugins/plugins-context/plugins-context-schema/src/site/site.xml (limited to 'plugins/plugins-context/plugins-context-schema') diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/pom.xml b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/pom.xml index 89152eeb5..7d3a5975a 100644 --- a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/pom.xml +++ b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/pom.xml @@ -43,4 +43,21 @@ test - + + + + apexSite + + + apexSite + + + + + ${project.artifactId}-site + ${apex.adsite.prefix}/modules/plugins/plugins-context/${project.parent.artifactId}/${project.artifactId}/ + + + + + \ No newline at end of file diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site-docs/adoc/fragments/ctx-schema-avro-config.adoc b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site-docs/adoc/fragments/ctx-schema-avro-config.adoc new file mode 100644 index 000000000..72bd8b9d9 --- /dev/null +++ b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site-docs/adoc/fragments/ctx-schema-avro-config.adoc @@ -0,0 +1,49 @@ +// +// ============LICENSE_START======================================================= +// Copyright (C) 2016-2018 Ericsson. All rights reserved. +// ================================================================================ +// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode +// +// SPDX-License-Identifier: CC-BY-4.0 +// ============LICENSE_END========================================================= +// +// @author Sven van der Meer (sven.van.der.meer@ericsson.com) +// + +== Configure AVRO Schema Handler + +The AVRO schema handler is added to the configuration as follows: + +[source%nowrap,json] +---- +"engineServiceParameters":{ + "engineParameters":{ + "contextParameters":{ + "parameterClassName" : "org.onap.policy.apex.context.parameters.ContextParameters", + "schemaParameters":{ + "Avro":{ + "parameterClassName" : + "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters" + } + } + } + } +} +---- + +Using the AVRO schema handler has one limitation: AVRO only supports field names that represent valid Java class names. +This means only letters and the character `_` are supported. +Characters commonly used in field names, such as `.` and `-`, are not supported by AVRO. +for more information see link:https://avro.apache.org/docs/1.8.1/spec.html#names[Avro Spec: Names]. + +To work with this limitation, the APEX Avro plugin will parse a given AVRO definition and replace _all_ occurrences of `.` and `-` with a `_`. +This means that + +- In a policy model, if the AVRO schema defined a field as `my-name` the policy logic should access it as `my_name` +- In a policy model, if the AVRO schema defined a field as `my.name` the policy logic should access it as `my_name` +- There should be no field names that convert to the same internal name + ** For instance the simultaneous use of `my_name`, `my.name`, and `my-name` should be avoided + ** If not avoided, the event processing might create unwanted side effects +- If field names use any other not-supported character, the AVRO plugin will reject it + ** Since AVRO uses lazy initialization, this rejection might only become visible at runtime diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/asciidoc/engine-config.adoc b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/asciidoc/engine-config.adoc new file mode 100644 index 000000000..8cc41c92d --- /dev/null +++ b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/asciidoc/engine-config.adoc @@ -0,0 +1,14 @@ +// +// ============LICENSE_START======================================================= +// Copyright (C) 2016-2018 Ericsson. All rights reserved. +// ================================================================================ +// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode +// +// SPDX-License-Identifier: CC-BY-4.0 +// ============LICENSE_END========================================================= +// +// @author Sven van der Meer (sven.van.der.meer@ericsson.com) +// + +include::{adsite-plugins-context-schema-avro-dir}/site-docs/adoc/fragments/ctx-schema-avro-config.adoc[] diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/css/site.css b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/css/site.css new file mode 100644 index 000000000..ef8bd4d15 --- /dev/null +++ b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/css/site.css @@ -0,0 +1,100 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css); + + +/*************** Table definitions *******************/ + +tableblock > .title, .tableblock > caption { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +.tableblock > caption { text-align: left; font-weight: bold; white-space: nowrap; overflow: visible; max-width: 0; } + +table.tableblock { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; } +table.tableblock thead, table.tableblock tfoot { background: whitesmoke; font-weight: bold; } +table.tableblock thead tr th, table.tableblock thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222222; text-align: left; } +table.tableblock tr th, table.tableblock tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; } +table.tableblock tr.even, table.tableblock tr.alt, table.tableblock tr:nth-of-type(even) { background: #f9f9f9; } +table.tableblock thead tr th, table.tableblock tfoot tr th, table.tableblock tbody tr td, table.tableblock tr td, table.tableblock tfoot tr td { display: table-cell; line-height: 1.6; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 4px; border-radius: 4px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; } + +table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; } + +table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; } + +table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; } + +th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; } + +th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; } + +th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; } + +th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; } + +th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; } + +th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; } + +p.tableblock.header { color: #222222; font-weight: bold; } + + + +/*************** KBD Macro definitions *******************/ + +kbd.keyseq { color: #555555; } + +kbd:not(.keyseq) { display: inline-block; color: #222222; font-size: 0.75em; line-height: 1.4; background-color: #F7F7F7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; } + +kbd kbd:first-child { margin-left: 0; } + +kbd kbd:last-child { margin-right: 0; } + + +/*************** Admontion Blocks definitions *******************/ +.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .videoblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-align: left; font-weight: bold; } + +.admonitionblock > table { border: 0; background: none; width: 100%; margin-top: 1em; margin-bottom: 1em;} +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: none; } +.admonitionblock > table td.icon .title { font-weight: bold; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.admonitionblock td.icon [class^="fa icon-"]:before {font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #005498; color: #003f72; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + + + +/*************** Misc definitions *******************/ + +*:not(pre) > code { font-size: 0.9375em; padding: 1px 3px 0; white-space: nowrap; background-color: #f2f2f2; border: 1px solid #cccccc; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; } + +pre, pre > code { line-height: 1.4; color: inherit; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #6d180b; } + diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/images/logos.png b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/images/logos.png new file mode 100644 index 000000000..915d6e59d Binary files /dev/null and b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/images/logos.png differ diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/site.xml b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/site.xml new file mode 100644 index 000000000..05c14a926 --- /dev/null +++ b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/site/site.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/plugins-context/plugins-context-schema/pom.xml b/plugins/plugins-context/plugins-context-schema/pom.xml index f515c2015..daa8954cb 100644 --- a/plugins/plugins-context/plugins-context-schema/pom.xml +++ b/plugins/plugins-context/plugins-context-schema/pom.xml @@ -35,4 +35,21 @@ plugins-context-schema-avro + + + + apexSite + + + apexSite + + + + + ${project.artifactId}-site + ${apex.adsite.prefix}/modules/plugins/${project.parent.artifactId}/${project.artifactId}/ + + + + diff --git a/plugins/plugins-context/plugins-context-schema/src/site/css/site.css b/plugins/plugins-context/plugins-context-schema/src/site/css/site.css new file mode 100644 index 000000000..ef8bd4d15 --- /dev/null +++ b/plugins/plugins-context/plugins-context-schema/src/site/css/site.css @@ -0,0 +1,100 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css); + + +/*************** Table definitions *******************/ + +tableblock > .title, .tableblock > caption { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +.tableblock > caption { text-align: left; font-weight: bold; white-space: nowrap; overflow: visible; max-width: 0; } + +table.tableblock { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; } +table.tableblock thead, table.tableblock tfoot { background: whitesmoke; font-weight: bold; } +table.tableblock thead tr th, table.tableblock thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222222; text-align: left; } +table.tableblock tr th, table.tableblock tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; } +table.tableblock tr.even, table.tableblock tr.alt, table.tableblock tr:nth-of-type(even) { background: #f9f9f9; } +table.tableblock thead tr th, table.tableblock tfoot tr th, table.tableblock tbody tr td, table.tableblock tr td, table.tableblock tfoot tr td { display: table-cell; line-height: 1.6; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 4px; border-radius: 4px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; } + +table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; } + +table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; } + +table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; } + +th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; } + +th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; } + +th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; } + +th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; } + +th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; } + +th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; } + +p.tableblock.header { color: #222222; font-weight: bold; } + + + +/*************** KBD Macro definitions *******************/ + +kbd.keyseq { color: #555555; } + +kbd:not(.keyseq) { display: inline-block; color: #222222; font-size: 0.75em; line-height: 1.4; background-color: #F7F7F7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; } + +kbd kbd:first-child { margin-left: 0; } + +kbd kbd:last-child { margin-right: 0; } + + +/*************** Admontion Blocks definitions *******************/ +.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .videoblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-align: left; font-weight: bold; } + +.admonitionblock > table { border: 0; background: none; width: 100%; margin-top: 1em; margin-bottom: 1em;} +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: none; } +.admonitionblock > table td.icon .title { font-weight: bold; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.admonitionblock td.icon [class^="fa icon-"]:before {font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #005498; color: #003f72; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + + + +/*************** Misc definitions *******************/ + +*:not(pre) > code { font-size: 0.9375em; padding: 1px 3px 0; white-space: nowrap; background-color: #f2f2f2; border: 1px solid #cccccc; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; } + +pre, pre > code { line-height: 1.4; color: inherit; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #6d180b; } + diff --git a/plugins/plugins-context/plugins-context-schema/src/site/images/logos.png b/plugins/plugins-context/plugins-context-schema/src/site/images/logos.png new file mode 100644 index 000000000..915d6e59d Binary files /dev/null and b/plugins/plugins-context/plugins-context-schema/src/site/images/logos.png differ diff --git a/plugins/plugins-context/plugins-context-schema/src/site/site.xml b/plugins/plugins-context/plugins-context-schema/src/site/site.xml new file mode 100644 index 000000000..81477c74d --- /dev/null +++ b/plugins/plugins-context/plugins-context-schema/src/site/site.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + \ No newline at end of file -- cgit 1.2.3-korg