X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fopenflow%2Fmd%2Fcore%2Ftranslator%2FErrorV10Translator.java;h=3d65a844ddd5ec2de7bbc318c1fc71b67a0ee2cf;hb=ddf1b1a5e0f3d401f562945ceb473570641fb45e;hp=023b091b70f620966bbfac3fa1e38f0873ec3fcb;hpb=0002ab463c3efd187833ceec1a86d40c0b30df98;p=openflowplugin.git diff --git a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/ErrorV10Translator.java b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/ErrorV10Translator.java index 023b091b70..3d65a844dd 100644 --- a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/ErrorV10Translator.java +++ b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/ErrorV10Translator.java @@ -1,14 +1,24 @@ /** - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013, 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.openflowplugin.openflow.md.core.translator; +import java.math.BigInteger; + import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.errors.rev131116.ErrorType; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.NodeErrorNotificationBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionId; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ErrorMessage; +/** + * OF-1.0 errorMessage support + */ public class ErrorV10Translator extends AbstractErrorTranslator { @Override @@ -28,4 +38,24 @@ public class ErrorV10Translator extends AbstractErrorTranslator { return type; } + /** + * @param message error message + * @param errorType error type + * @param node reference to node, that sent the error message + * @return translated error message of general type (OF-1.0) + */ + @Override + public org.opendaylight.yang.gen.v1.urn.opendaylight.flow.errors.rev131116.ErrorMessage getGranularNodeErrors(ErrorMessage message, ErrorType errorType, NodeRef node){ + NodeErrorNotificationBuilder nodeErrBuilder = new NodeErrorNotificationBuilder(); + nodeErrBuilder.setTransactionId(new TransactionId(BigInteger.valueOf(message.getXid()))); + nodeErrBuilder.setType(errorType); + nodeErrBuilder.setCode(message.getCode()); + nodeErrBuilder.setNode(node); + + if (message.getData() != null) { + nodeErrBuilder.setData(new String(message.getData())); + } + return nodeErrBuilder.build(); + } + }