X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fstream%2FNormalizedNodeOutputStreamWriter.java;h=b155b5af11b67ffa7856ac5a23fabd90ff2661ec;hb=5c3e3812eca4e7a06c69c376037578fae49828a2;hp=d4aab036be21df1734f4f88bc590b35030a71d21;hpb=e3918142bf119759d092af5c7fa72807b3a467e0;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java index d4aab036be..b155b5af11 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java @@ -1,21 +1,20 @@ /* + * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. All rights reserved. * - * Copyright (c) 2014 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 - * + * 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.cluster.datastore.node.utils.stream; import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; import java.io.DataOutput; import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -66,7 +65,7 @@ public class NormalizedNodeOutputStreamWriter implements NormalizedNodeStreamWri output = new DataOutputStream(stream); } - public NormalizedNodeOutputStreamWriter(DataOutput output) throws IOException { + public NormalizedNodeOutputStreamWriter(DataOutput output) { this.output = Preconditions.checkNotNull(output); } @@ -203,6 +202,7 @@ public class NormalizedNodeOutputStreamWriter implements NormalizedNodeStreamWri @Override public void close() throws IOException { + flush(); } @Override @@ -269,16 +269,15 @@ public class NormalizedNodeOutputStreamWriter implements NormalizedNodeStreamWri } private void writeYangInstanceIdentifierInternal(YangInstanceIdentifier identifier) throws IOException { - Iterable pathArguments = identifier.getPathArguments(); - int size = Iterables.size(pathArguments); - output.writeInt(size); + Collection pathArguments = identifier.getPathArguments(); + output.writeInt(pathArguments.size()); for(YangInstanceIdentifier.PathArgument pathArgument : pathArguments) { writePathArgument(pathArgument); } } - private void writePathArgument(YangInstanceIdentifier.PathArgument pathArgument) throws IOException { + public void writePathArgument(YangInstanceIdentifier.PathArgument pathArgument) throws IOException { byte type = PathArgumentTypes.getSerializablePathArgumentType(pathArgument); @@ -389,6 +388,11 @@ public class NormalizedNodeOutputStreamWriter implements NormalizedNodeStreamWri break; case ValueTypes.NULL_TYPE : break; + case ValueTypes.STRING_BYTES_TYPE: + final byte[] valueBytes = value.toString().getBytes(StandardCharsets.UTF_8); + output.writeInt(valueBytes.length); + output.write(valueBytes); + break; default: output.writeUTF(value.toString()); break;