-package org.simantics.db.common;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Iterator;\r
-import java.util.TreeMap;\r
-\r
-import org.simantics.db.Metadata;\r
-import org.simantics.db.Session;\r
-import org.simantics.db.common.utils.Logger;\r
-import org.simantics.db.common.utils.Serializers;\r
-\r
-public abstract class ACommentMetadata implements Metadata {\r
- final boolean DEBUG = true;\r
- protected ArrayList<String> comments = new ArrayList<String>();\r
- public ACommentMetadata(TreeMap<String, byte[]> metadata) {\r
- if (null != metadata) {\r
- byte[] data = metadata.get(ACommentMetadata.class.getName());\r
- initialize(data);\r
- }\r
- }\r
-\r
- public ACommentMetadata(byte[] data) {\r
- initialize(data);\r
- }\r
-\r
- private void initialize(byte[] data) {\r
- if (null != data) {\r
- try {\r
- String[] strings = Serializers.deserializeStrings(data);\r
- for (String s : strings)\r
- comments.add(s);\r
- } catch (Exception e) {\r
- Logger.defaultLogError(e);\r
- }\r
- }\r
- }\r
-\r
- public ACommentMetadata add(String string) {\r
- comments.add(string);\r
- return this;\r
- }\r
- \r
- public int size() {\r
- return comments.size();\r
- }\r
-\r
- public ACommentMetadata add(ACommentMetadata cm) {\r
- if (null == cm)\r
- return this;\r
- comments.addAll(cm.comments);\r
- return this;\r
- }\r
-\r
- @Override\r
- public String toString() {\r
- String t = "";\r
- int size = comments.size();\r
- Iterator<String> it = comments.iterator();\r
- for (int i=0; i<size; ++i)\r
- t += it.next() + "\n";\r
- return t;\r
- }\r
- \r
- @Override\r
- public byte[] serialise(Session session) {\r
- try {\r
- return Serializers.serializeStrings(comments.toArray(new String[comments.size()]));\r
- } catch (Exception e) {\r
- if (DEBUG)\r
- e.printStackTrace();\r
- Logger.defaultLogError(e.toString());\r
- }\r
- return new byte[0];\r
- }\r
-}\r
+package org.simantics.db.common;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.TreeMap;
+
+import org.simantics.db.Metadata;
+import org.simantics.db.Session;
+import org.simantics.db.common.utils.Logger;
+import org.simantics.db.common.utils.Serializers;
+
+public abstract class ACommentMetadata implements Metadata {
+ final boolean DEBUG = true;
+ protected ArrayList<String> comments = new ArrayList<String>();
+ public ACommentMetadata(TreeMap<String, byte[]> metadata) {
+ if (null != metadata) {
+ byte[] data = metadata.get(ACommentMetadata.class.getName());
+ initialize(data);
+ }
+ }
+
+ public ACommentMetadata(byte[] data) {
+ initialize(data);
+ }
+
+ private void initialize(byte[] data) {
+ if (null != data) {
+ try {
+ String[] strings = Serializers.deserializeStrings(data);
+ for (String s : strings)
+ comments.add(s);
+ } catch (Exception e) {
+ Logger.defaultLogError(e);
+ }
+ }
+ }
+
+ public ACommentMetadata add(String string) {
+ comments.add(string);
+ return this;
+ }
+
+ public int size() {
+ return comments.size();
+ }
+
+ public ACommentMetadata add(ACommentMetadata cm) {
+ if (null == cm)
+ return this;
+ comments.addAll(cm.comments);
+ return this;
+ }
+
+ @Override
+ public String toString() {
+ String t = "";
+ int size = comments.size();
+ Iterator<String> it = comments.iterator();
+ for (int i=0; i<size; ++i)
+ t += it.next() + "\n";
+ return t;
+ }
+
+ @Override
+ public byte[] serialise(Session session) {
+ try {
+ return Serializers.serializeStrings(comments.toArray(new String[comments.size()]));
+ } catch (Exception e) {
+ if (DEBUG)
+ e.printStackTrace();
+ Logger.defaultLogError(e.toString());
+ }
+ return new byte[0];
+ }
+}