summaryrefslogtreecommitdiffstats
path: root/examples/examples-aadm/pom.xml
blob: c06e1f5bb8133d2cdacfd08ef3c567ed83ec6d48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!--
  ============LICENSE_START=======================================================
   Copyright (C) 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=========================================================
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.onap.policy.apex-pdp.examples</groupId>
        <artifactId>examples</artifactId>
        <version>2.6.2</version>
    </parent>

    <artifactId>examples-aadm</artifactId>
    <name>${project.artifactId}</name>
    <description>Specific code for the Apex AADM Example</description>

    <dependencies>
        <dependency>
            <groupId>org.onap.policy.apex-pdp.model</groupId>
            <artifactId>policy-model</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.apex-pdp.core</groupId>
            <artifactId>core-engine</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.apex-pdp.core</groupId>
            <artifactId>core-infrastructure</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
            <artifactId>plugins-executor-mvel</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>generate-models</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>java</executable>
                            <arguments>
                                <argument>-classpath</argument>
                                <!-- automatically creates the classpath using all project dependencies, also adding the project build directory -->
                                <classpath />
                                <argument>org.onap.policy.apex.examples.aadm.model.AadmDomainModelSaver</argument>
                                <argument>${project.build.directory}/classes/examples/models/AADM</argument>
                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
return prod @keyword def consume(self, alias, topic_name, consumer_group=None): assert topic_name consumer = self._get_consumer(alias, topic_name, consumer_group) msg = next(consumer) consumer.close(autocommit=True) if msg is None: return None else: return msg.value def _get_consumer(self, alias, topic_name, consumer_group=None, set_offset_to_earliest=True): assert topic_name # default to the topic as group name if consumer_group: cgn = consumer_group else: cgn = topic_name cache = self._cache.switch(alias) consumer = KafkaConsumer(bootstrap_servers=cache['bootstrap_servers'], sasl_plain_username=cache['sasl_plain_username'], sasl_plain_password=cache['sasl_plain_password'], security_protocol=cache['security_protocol'], ssl_context=cache['ssl_context'], sasl_mechanism=cache['sasl_mechanism'], group_id=cgn, request_timeout_ms=10001) consumer.assign([TopicPartition(str(topic_name), 0),TopicPartition(str(topic_name), 1),TopicPartition(str(topic_name), 2)]) consumer.poll() if set_offset_to_earliest: consumer.seek_to_beginning() else: consumer.seek_to_end() consumer.topics() return consumer