You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Introduction

To use Automatics system, partner will be providing implementation of APIs based on specification. This document gives details on how to integrate partner implementation project to Automatics system.

Automatics Core is a maven project. So partner can add core as maven dependency to their maven project. After the development of APIs, partner can deploy the project to their maven repository by executing “mvn clean deploy”.

Quick Guide to Partner Java API Project

  • Create Maven Java Project.
  • Add Automatics Core as maven dependency so all providers are available for implementation.
  • Provide Java implementation for Providers based on API specification, refer Automatics API Specification .
  • When the implementation is completed, deploy the project to partner repository.
  • Update pom.xml of Automatics Generic Tests project with partner implementation as dependency.

Partner XML configuration file

  • Partner can inject their implementation classes to Automatics core using Spring Dependency Injection. 
  • Automatics core expects spring configuration file partner-applicationContext.xml to be provided by partner project and it should be available at classpath during test execution.
  • All Java API implementations to be injected should be configured in partner-applicationContext.xml.
  • partner-applicationContext.xml file contains predefined bean id with respective implementation class. All beans uses "lazy-init" set to true so that bean instance will be created on demand only. And, for beans that requires separate instance for each device, property "scope" is set to value "prototype".

Automatics Partner XML Configuration - partner-applicationContext.xml

Automatics Rest Implementation

  • Partner needs to provide REST based implementation for APIs in device management that is consumed by Automatics orchestration.
  • Other device management APIs consumed by Automatics core can be implemented using Java API or REST.
  • Automatics core provides rest clients for device management and hardware providers like Power Provider. Partner can provide REST implementation for them based on API specification. Automatics core, by default, will use rest implementation. However, if partners prefers to go with Java API implementation, then in Automatics Properties, update the following properties as shown.

"partner.impl.deviceManager=true”  - When set to true, Automatics expects Java based implementation of device management and it should be configured in partner-applicationContext.xml against bean "deviceProvider".

partner.impl.powerProvider=true”  - When set to true, Automatics expects Java based implementation of power provider and it should be configured in partner-applicationContext.xml against bean "powerProvider".

Please refer Automatics Properties for all supported properties.


RDK Interface Providers

WebPA Provider

To use webpa support provided by Automatics, partner needs to implement following APIs.

APIDescription
Map<String, String> getRequestHeaderAuthData(WebPaType methodType)

Authentication headers if any required for WebPa communication.

This invokes providing auth token in request header.

String getDeviceMacAddress(Dut dut);The mac address to be used for fetching/updating webpa params

SNMP Provider

To execute SNMP commands on device, partner needs to implement following APIs in SnmpDataProvider.

APIDescription
SnmpSecurityDetails getSnmpAuthorization(Dut dut, SnmpParams snmpParams)

Provides the authentication data for SNMP communication.

For SNMPv2, provide the community string. 

For SNMPv3, provide authentication and encryption methods to be

sent along with snmp command.

SnmpParams updateSnmpParams(Dut dut, SnmpParams snmpParams)

If partner needs to customize snmp params provided by Automatics

before execution, it can be done here.


TR69 Provider

To use TR69 support provided by Automatics, partner needs to implement following API in TR69Provider.

APIDescription
List<String> getTr69ParameterValues(Dut dut, String[] parameters)Provide implementation to get TR 69 param values from ACS server
  • No labels