From 87bbe50d2df7acd4e8f70f46aa1d4784777e15e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Wed, 19 Nov 2014 09:42:54 +0100 Subject: [PATCH] XmlNamespaceIndex: optimize value persistence --- .../intellij/xml/index/XmlNamespaceIndex.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/xml/xml-psi-impl/src/com/intellij/xml/index/XmlNamespaceIndex.java b/xml/xml-psi-impl/src/com/intellij/xml/index/XmlNamespaceIndex.java index a3c16b4f814f..f262ff461e5f 100644 --- a/xml/xml-psi-impl/src/com/intellij/xml/index/XmlNamespaceIndex.java +++ b/xml/xml-psi-impl/src/com/intellij/xml/index/XmlNamespaceIndex.java @@ -28,6 +28,8 @@ import com.intellij.util.indexing.FileBasedIndex; import com.intellij.util.indexing.FileContent; import com.intellij.util.indexing.ID; import com.intellij.util.io.DataExternalizer; +import com.intellij.util.io.DataInputOutputUtil; +import com.intellij.util.io.IOUtil; import com.intellij.util.text.CharArrayUtil; import com.intellij.xml.util.XmlUtil; import org.jetbrains.annotations.NotNull; @@ -113,11 +115,11 @@ public class XmlNamespaceIndex extends XmlIndex { return new DataExternalizer() { @Override public void save(@NotNull DataOutput out, XsdNamespaceBuilder value) throws IOException { - out.writeUTF(value.getNamespace() == null ? "" : value.getNamespace()); - out.writeUTF(value.getVersion() == null ? "" : value.getVersion()); - out.writeInt(value.getTags().size()); + IOUtil.writeUTF(out, value.getNamespace() == null ? "" : value.getNamespace()); + IOUtil.writeUTF(out, value.getVersion() == null ? "" : value.getVersion()); + DataInputOutputUtil.writeINT(out, value.getTags().size()); for (String s : value.getTags()) { - out.writeUTF(s); + IOUtil.writeUTF(out, s); } } @@ -125,9 +127,10 @@ public class XmlNamespaceIndex extends XmlIndex { public XsdNamespaceBuilder read(@NotNull DataInput in) throws IOException { int count; - XsdNamespaceBuilder builder = new XsdNamespaceBuilder(in.readUTF(), in.readUTF(), new ArrayList(count = in.readInt())); + XsdNamespaceBuilder builder = new XsdNamespaceBuilder(IOUtil.readUTF(in), IOUtil.readUTF(in), + new ArrayList(count = DataInputOutputUtil.readINT(in))); for (int i = 0; i < count; i++) { - builder.getTags().add(in.readUTF()); + builder.getTags().add(IOUtil.readUTF(in)); } return builder; } @@ -136,7 +139,7 @@ public class XmlNamespaceIndex extends XmlIndex { @Override public int getVersion() { - return 2; + return 3; } @Nullable