/* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.controller.sal.restconf.broker.event; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.DataChangedNotification; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class RemoteDataChangeEvent implements DataChangeEvent,DataObject> { private final DataChangedNotification dataChangedNotification; public RemoteDataChangeEvent(DataChangedNotification dataChangedNotification){ this.dataChangedNotification = dataChangedNotification; } @Override public DataObject getOriginalConfigurationSubtree() { throw new UnsupportedOperationException(); } @Override public DataObject getOriginalOperationalSubtree() { throw new UnsupportedOperationException(); } @Override public DataObject getUpdatedConfigurationSubtree() { throw new UnsupportedOperationException(); } @Override public DataObject getUpdatedOperationalSubtree() { throw new UnsupportedOperationException(); } @Override public Map, DataObject> getCreatedOperationalData() { return new HashMap, DataObject>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 0 && d.getStore().getIntValue() == 1){ put(d.getPath(),d); } } }}; } @Override public Map, DataObject> getCreatedConfigurationData() { return new HashMap, DataObject>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 0 && d.getStore().getIntValue() == 0){ put(d.getPath(),d); } } }}; } @Override public Map, DataObject> getUpdatedOperationalData() { return new HashMap, DataObject>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 1 && d.getStore().getIntValue() == 1){ put(d.getPath(),d); } } }}; } @Override public Map, DataObject> getUpdatedConfigurationData() { return new HashMap, DataObject>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 1 && d.getStore().getIntValue() == 0){ put(d.getPath(),d); } } }}; } @Override public Set> getRemovedConfigurationData() { return new HashSet>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 2 && d.getStore().getIntValue() == 0){ add(d.getPath()); } } }}; } @Override public Set> getRemovedOperationalData() { return new HashSet>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 2 && d.getStore().getIntValue() == 1){ add(d.getPath()); } } }}; } @Override public Map, DataObject> getOriginalConfigurationData() { return new HashMap, DataObject>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 1 && d.getStore().getIntValue() == 0){ put(d.getPath(),d); } } }}; } @Override public Map, DataObject> getOriginalOperationalData() { return new HashMap, DataObject>(){{ for (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.remote.rev140114.data.changed.notification.DataChangeEvent d :dataChangedNotification.getDataChangeEvent()){ if (d.getOperation().getIntValue() == 1 && d.getStore().getIntValue() == 1){ put(d.getPath(),d); } } }}; } }