X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Fparser%2FDataValuePrinter.java;h=843be9161e2e4e46dd829c80da495d75a9517855;hb=3f5adda763f6281e9988277d067c1f71615e3da2;hp=d515e386c2df6d500ea9fce30445f683cf511f22;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/parser/DataValuePrinter.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/parser/DataValuePrinter.java index d515e386c..843be9161 100644 --- a/bundles/org.simantics.databoard/src/org/simantics/databoard/parser/DataValuePrinter.java +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/parser/DataValuePrinter.java @@ -1,42 +1,42 @@ -/******************************************************************************* - * Copyright (c) 2010 Association for Decentralized Information Management in - * Industry THTH ry. - * 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 - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ +/******************************************************************************* + * Copyright (c) 2010 Association for Decentralized Information Management in + * Industry THTH ry. + * 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 + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ package org.simantics.databoard.parser; -import java.io.IOException; - -import org.simantics.databoard.binding.ArrayBinding; -import org.simantics.databoard.binding.Binding; -import org.simantics.databoard.binding.BooleanBinding; -import org.simantics.databoard.binding.ByteBinding; -import org.simantics.databoard.binding.DoubleBinding; -import org.simantics.databoard.binding.FloatBinding; -import org.simantics.databoard.binding.IntegerBinding; -import org.simantics.databoard.binding.LongBinding; -import org.simantics.databoard.binding.MapBinding; -import org.simantics.databoard.binding.OptionalBinding; -import org.simantics.databoard.binding.RecordBinding; -import org.simantics.databoard.binding.StringBinding; -import org.simantics.databoard.binding.UnionBinding; -import org.simantics.databoard.binding.VariantBinding; -import org.simantics.databoard.binding.error.BindingException; -import org.simantics.databoard.binding.error.RuntimeBindingException; -import org.simantics.databoard.binding.mutable.MutableVariant; -import org.simantics.databoard.file.RuntimeIOException; -import org.simantics.databoard.parser.repository.DataTypeRepository; -import org.simantics.databoard.parser.repository.DataValueRepository; -import org.simantics.databoard.type.Component; -import org.simantics.databoard.type.Datatype; -import org.simantics.databoard.type.RecordType; -import org.simantics.databoard.type.UnionType; +import java.io.IOException; + +import org.simantics.databoard.binding.ArrayBinding; +import org.simantics.databoard.binding.Binding; +import org.simantics.databoard.binding.BooleanBinding; +import org.simantics.databoard.binding.ByteBinding; +import org.simantics.databoard.binding.DoubleBinding; +import org.simantics.databoard.binding.FloatBinding; +import org.simantics.databoard.binding.IntegerBinding; +import org.simantics.databoard.binding.LongBinding; +import org.simantics.databoard.binding.MapBinding; +import org.simantics.databoard.binding.OptionalBinding; +import org.simantics.databoard.binding.RecordBinding; +import org.simantics.databoard.binding.StringBinding; +import org.simantics.databoard.binding.UnionBinding; +import org.simantics.databoard.binding.VariantBinding; +import org.simantics.databoard.binding.error.BindingException; +import org.simantics.databoard.binding.error.RuntimeBindingException; +import org.simantics.databoard.binding.mutable.MutableVariant; +import org.simantics.databoard.file.RuntimeIOException; +import org.simantics.databoard.parser.repository.DataTypeRepository; +import org.simantics.databoard.parser.repository.DataValueRepository; +import org.simantics.databoard.type.Component; +import org.simantics.databoard.type.Datatype; +import org.simantics.databoard.type.RecordType; +import org.simantics.databoard.type.UnionType; /** * A class that converts values to their text presentation. @@ -150,16 +150,16 @@ public class DataValuePrinter implements Binding.Visitor1 { int len = b.size(instance); out.append(format.openArray); for (int i = 0; i < len; i++) { - Object component = b.get(instance, i); - if (component == null) - out.append("null"); + Object component = b.get(instance, i); + if (component == null) + out.append("null"); else cb.accept(this, component); - if (i < len - 1) { - out.append(format.arraySeparator); - out.append(' '); - } + if (i < len - 1) { + out.append(format.arraySeparator); + out.append(' '); + } } out.append(format.closeArray); } catch (IOException e) { @@ -362,17 +362,17 @@ public class DataValuePrinter implements Binding.Visitor1 { out.append(format.openRecord); putLineFeed(); addIndent(); - try { - int fieldsLeft = 0; - for (int i = 0; i < len; i++) { - Binding componentBinding = bindings[i]; - Object value = b.getComponent(instance, i); - if (componentBinding instanceof OptionalBinding) { - OptionalBinding ob = (OptionalBinding) componentBinding; - if (!ob.hasValue(value)) continue; - } - fieldsLeft++; - } + try { + int fieldsLeft = 0; + for (int i = 0; i < len; i++) { + Binding componentBinding = bindings[i]; + Object value = b.getComponent(instance, i); + if (componentBinding instanceof OptionalBinding) { + OptionalBinding ob = (OptionalBinding) componentBinding; + if (!ob.hasValue(value)) continue; + } + fieldsLeft++; + } for (int i = 0; i < len; i++) { Binding componentBinding = bindings[i]; @@ -399,11 +399,11 @@ public class DataValuePrinter implements Binding.Visitor1 { // Write value componentBinding.accept(this, value); } - + // Add "," if there are more fields - fieldsLeft--; - if (fieldsLeft>0) - out.append(format.arraySeparator); + fieldsLeft--; + if (fieldsLeft>0) + out.append(format.arraySeparator); putLineFeed(); } @@ -638,40 +638,40 @@ public class DataValuePrinter implements Binding.Visitor1 { } private void putLongString(String unescapedString) throws IOException { - out.append(format.openLongString); - // Escape the following characters \\ " \ \t - for (int i = 0; i < unescapedString.length(); i++) { - char c = unescapedString.charAt(i); - switch (c) { - // Backspace \b or \u0008 - case '\b': - out.append("\\b"); - break; - // Form feed \f or - case '\f': - out.append("\\f"); - break; - // Backslash \\ or \u005c - case '\\': - out.append("\\\\"); - break; - // Single Quote \' or \u0027 - case '\'': - out.append("\\\'"); - break; - // Double Quote \" or \u0022 - case '\"': - out.append("\\\""); - break; - // Tabulator \t or - case '\t': - out.append("\\t"); - break; - default: - out.append(c); - break; - } - } + out.append(format.openLongString); + // Escape the following characters \\ " \ \t + for (int i = 0; i < unescapedString.length(); i++) { + char c = unescapedString.charAt(i); + switch (c) { + // Backspace \b or \u0008 + case '\b': + out.append("\\b"); + break; + // Form feed \f or + case '\f': + out.append("\\f"); + break; + // Backslash \\ or \u005c + case '\\': + out.append("\\\\"); + break; + // Single Quote \' or \u0027 + case '\'': + out.append("\\\'"); + break; + // Double Quote \" or \u0022 + case '\"': + out.append("\\\""); + break; + // Tabulator \t or + case '\t': + out.append("\\t"); + break; + default: + out.append(c); + break; + } + } out.append(format.closeLongString); }