/* * Copyright (c) 2015 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.tsdr.collectors.cmc.mdsal; import org.datasand.codec.EncodeDataContainer; import org.datasand.codec.ISerializer; import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.storetsdrmetricrecord.input.TSDRMetricRecord; import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.storetsdrmetricrecord.input.TSDRMetricRecordBuilder; /** * @author Sharon Aicler(saichler@gmail.com) **/ public class TSDRMetricRecordSerializer implements ISerializer{ @Override public void encode(Object value, byte[] byteArray, int location) { } @Override public void encode(Object value, EncodeDataContainer ba) { TSDRMetricRecord element = (TSDRMetricRecord) value; ba.setCurrentAttributeName("MetricName"); ba.getEncoder().encodeString(element.getMetricName(), ba); ba.setCurrentAttributeName("MetricValue"); ba.getEncoder().encodeObject(element.getMetricValue(), ba, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter64.class); ba.setCurrentAttributeName("TimeStamp"); ba.getEncoder().encodeInt64(element.getTimeStamp(), ba); ba.setCurrentAttributeName("NodeID"); ba.getEncoder().encodeString(element.getNodeID(), ba); ba.setCurrentAttributeName("TSDRDataCategory"); ba.getEncoder().encodeObject(element.getTSDRDataCategory(), ba, org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.DataCategory.class); ba.setCurrentAttributeName("Augmentations"); ba.getEncoder().encodeAugmentations(value, ba); ba.setCurrentAttributeName("RecordKeys"); ba.getEncoder().encodeAndAddList(element.getRecordKeys(), ba,org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.tsdrrecord.RecordKeys.class); } @Override public Object decode(byte[] byteArray, int location, int length) { return null; } @Override public Object decode(EncodeDataContainer ba, int length) { TSDRMetricRecordBuilder builder = new TSDRMetricRecordBuilder(); ba.setCurrentAttributeName("MetricName"); builder.setMetricName(ba.getEncoder().decodeString(ba)); ba.setCurrentAttributeName("MetricValue"); builder.setMetricValue((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter64)ba.getEncoder().decodeObject(ba)); ba.setCurrentAttributeName("TimeStamp"); builder.setTimeStamp(ba.getEncoder().decodeInt64(ba)); ba.setCurrentAttributeName("NodeID"); builder.setNodeID(ba.getEncoder().decodeString(ba)); ba.setCurrentAttributeName("TSDRDataCategory"); builder.setTSDRDataCategory((org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.DataCategory)ba.getEncoder().decodeObject(ba)); ba.setCurrentAttributeName("Augmentations"); ba.getEncoder().decodeAugmentations(builder, ba,TSDRMetricRecord.class); ba.setCurrentAttributeName("RecordKeys"); builder.setRecordKeys(ba.getEncoder().decodeAndList(ba,org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.tsdrrecord.RecordKeys.class)); return builder.build(); } public String getShardName(Object obj) { return "Default"; } public String getRecordKey(Object obj) { return null; } }