<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<name>ccsdk-features :: ${project.artifactId}</name>
<dependencies>
- <dependency>
+ <dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc6991-ietf-yang-types</artifactId>
- </dependency>
+ </dependency>
</dependencies>
</project>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
- <artifactId>common-yang</artifactId>
+ <artifactId>sdnr-wt-common-yang</artifactId>
<version>1.1.1-SNAPSHOT</version>
<packaging>pom</packaging>
<module>rfc7317-ietf-system</module>
<module>ietf-alarms</module>
</modules>
+
</project>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
~
-->
+
<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.ccsdk.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
public interface NetconfNetworkElementService extends Registration, DeviceManagerService {
- /** Register factory class for network-element handler **/
+ /** Register factory class for network-element handler for binding api**/
@NonNull
- <L extends NetworkElementFactory> FactoryRegistration<L> registerNetworkElementFactory(@NonNull L factory);
+ <L extends NetworkElementFactory> FactoryRegistration<L> registerBindingNetworkElementFactory(@NonNull L factory);
/** Get Devicemanager service **/
DeviceManagerServiceProvider getServiceProvider();
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
+ <version>2.1.1-SNAPSHOT</version>
<relativePath/>
</parent>
</licenses>
<properties>
- <checkstyle.skip>true</checkstyle.skip> <!-- POM configuration -->
<maven.javadoc.skip>true</maven.javadoc.skip>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
<buildtime>${maven.build.timestamp} UTC</buildtime>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-actor_2.12</artifactId>
+ <artifactId>akka-actor_2.13</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-cluster_2.12</artifactId>
+ <artifactId>akka-cluster_2.13</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<artifactId>jackson-databind</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jaxb</groupId>
+ <artifactId>jaxb-runtime</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>
*/
package org.onap.ccsdk.features.sdnr.wt.devicemanager.archiveservice;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
-
import org.eclipse.jdt.annotation.NonNull;
import org.onap.ccsdk.features.sdnr.wt.common.configuration.filechange.IConfigChangedListener;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.ArchiveCleanProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-
public class ArchiveCleanService implements AutoCloseable, IConfigChangedListener, Runnable, ClusterSingletonService {
private static final Logger LOG = LoggerFactory.getLogger(ArchiveCleanService.class);
public void close() throws Exception {
this.esConfig.unregisterConfigChangedListener(this);
this.scheduler.shutdown();
- this.cssRegistration.close();
+ if (this.cssRegistration != null)
+ this.cssRegistration.close();
}
@Override
+ "ArchiveLifetimeSeconds=" + esConfig.getArchiveLifetimeSeconds() + "]";
}
- @SuppressWarnings("null")
@Override
public @NonNull ServiceGroupIdentifier getIdentifier() {
return IDENT;
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
-
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Optional;
this.cfg.unregisterConfigChangedListener(this);
}
this.scheduler.shutdown();
- this.cssRegistration2.close();
+ if (this.cssRegistration2 != null)
+ this.cssRegistration2.close();
}
- @SuppressWarnings("null")
@Override
public @NonNull ServiceGroupIdentifier getIdentifier() {
return IDENT;
}
@Override
- public @NonNull <L extends NetworkElementFactory> FactoryRegistration<L> registerNetworkElementFactory(
+ public @NonNull <L extends NetworkElementFactory> FactoryRegistration<L> registerBindingNetworkElementFactory(
@NonNull L factory) {
LOG.info("Factory registration {}", factory.getClass().getName());
return this.vesCollectorClient;
}
-
}
*/
package org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
-
+import javax.xml.bind.JAXBException;
import org.eclipse.jdt.annotation.NonNull;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.eventdatahandler.ODLEventListenerHandler;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketEventInputBuilder;
/**
* New: Implementation of Websocket notification processor.
- *
+ *
* @param websocketmanagerService2 to be used
*/
public WebSocketServiceClientImpl2(WebsocketmanagerService websocketmanagerService2) {
@Override
public <T extends MwtNotificationBase & GetEventType> void sendViaWebsockets(@NonNull String nodeName,
@NonNull T notificationXml) {
- LOG.info("Send websocket event {} for mountpoint {}", notificationXml.getClass().getSimpleName(), nodeName);
+ LOG.debug("Send websocket event {} for mountpoint {}", notificationXml.getClass().getSimpleName(), nodeName);
+ WebsocketEventInputBuilder wsBuilder = new WebsocketEventInputBuilder();
+ wsBuilder.setNodeName(nodeName);
+ wsBuilder.setEventType(notificationXml.getEventType());
try {
- WebsocketEventInputBuilder wsBuilder = new WebsocketEventInputBuilder();
- wsBuilder.setNodeName(nodeName);
- wsBuilder.setEventType(notificationXml.getEventType());
wsBuilder.setXmlEvent(xmlMapper.getXmlString(notificationXml));
Future<RpcResult<WebsocketEventOutput>> result = websocketmanagerService.websocketEvent(wsBuilder.build());
- LOG.info("Send websocket result: {}", result.get().getResult().getResponse());
- } catch (Exception e) {
- LOG.warn("Can not send websocket event {} for mountpoint {} {}", notificationXml.getClass().getSimpleName(),
- nodeName, e.toString());
+ if (result != null)
+ LOG.trace("Send websocket result: {}", result == null ? "null" : result.get().getResult().getResponse());
+ } catch (JAXBException | InterruptedException | ExecutionException e) {
+ LOG.warn("Can not send websocket event {} for mountpoint {} {}", notificationXml, nodeName, e.toString());
}
}
* =================================================================================================
* 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
import org.slf4j.LoggerFactory;
public class XmlMapper {
+ @SuppressWarnings("unused")
private static final Logger LOG = LoggerFactory.getLogger(XmlMapper.class);
- public String getXmlString(MwtNotificationBase base) {
+ public String getXmlString(MwtNotificationBase base) throws JAXBException {
String xml;
JAXBContext jaxbContext;
- try {
- jaxbContext = JAXBContext.newInstance(AttributeValueChangedNotificationXml.class,
- ObjectCreationNotificationXml.class, ObjectDeletionNotificationXml.class,
- ProblemNotificationXml.class);
- Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
- jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ jaxbContext = JAXBContext.newInstance(AttributeValueChangedNotificationXml.class,
+ ObjectCreationNotificationXml.class, ObjectDeletionNotificationXml.class, ProblemNotificationXml.class);
+ Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
+ jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- StringWriter stringWriter = new StringWriter();
- jaxbMarshaller.marshal(base, stringWriter);
- xml = stringWriter.toString();
- } catch (JAXBException e) {
- LOG.warn("Problem in marshalling xml file {}", e);
- xml = null;
- }
+ StringWriter stringWriter = new StringWriter();
+ jaxbMarshaller.marshal(base, stringWriter);
+ xml = stringWriter.toString();
return xml;
}
}
package org.onap.ccsdk.features.sdnr.wt.devicemanager.test;
import static org.junit.Assert.assertTrue;
-
import java.util.Arrays;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.HtDatabaseMaintenance;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.IEntityDataProvider;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.IEsConfig;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.NetconfTimeStampImpl;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DeviceManagerImpl;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
assertTrue(deviceManager.isDevicemanagerInitializationOk());
}
+ @Test
+ public void testMapping() {
+
+ }
+
@Test
public void testChangeNotification() {
NotificationService n = deviceManager.getNotificationService();
FaultService n = deviceManager.getFaultService();
FaultlogBuilder faultLogEntityBuilder = new FaultlogBuilder();
- n.faultNotification(faultLogEntityBuilder.setNodeId("node1").build());
+ n.faultNotification(faultLogEntityBuilder.setNodeId("node1")
+ .setTimestamp(NetconfTimeStampImpl.getTestpatternDateAndTime()).build());
}
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * 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.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.test;
+
+import static org.junit.Assert.fail;
+import javax.xml.bind.JAXBException;
+import org.eclipse.jdt.annotation.Nullable;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.XmlMapper;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.EventlogNotificationBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Eventlog;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+
+@SuppressWarnings("deprecation")
+public class TestXmlMapper {
+
+ @Test
+ public void test() {
+ XmlMapper xmlMapper = new XmlMapper();
+ AttributeValueChangedNotificationXml event = getChangeNotification(new NodeId("NodeTest1"), 2, InternalDateAndTime.getTestpatternDateAndTime(), "ObjTest1",
+ "AtrributeTest1", "NewTest1");
+
+ try {
+ String result = xmlMapper.getXmlString(event);
+ System.out.println("Mappingresult = "+result);
+ } catch (JAXBException e) {
+ e.printStackTrace();
+ fail("Problem with xml mapping.");
+ }
+
+ }
+
+ public AttributeValueChangedNotificationXml getChangeNotification(NodeId nodeId, @Nullable Integer counter, @Nullable DateAndTime timeStamp,
+ @Nullable String objectId, @Nullable String attributeName, @Nullable String newValue) {
+ Eventlog eventlogEntity = new EventlogNotificationBuilder(nodeId, counter, timeStamp, objectId, attributeName, newValue).build();
+ return new AttributeValueChangedNotificationXml(eventlogEntity);
+ }
+
+}