Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > ed8176497aa19a25d416018252ae0645 > files > 3

avro-cassandra-1.4.0-1.mga2.src.rpm

--- lang/java/src/java/org/apache/avro/Schema.java	2010-08-18 23:35:15.000000000 +0200
+++ lang/java/src/java/org/apache/avro/Schema.java-gil	2011-10-04 07:41:21.114494719 +0200
@@ -30,6 +30,7 @@
 import java.util.HashSet;
 import java.util.IdentityHashMap;
 import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -400,6 +401,11 @@
     public synchronized void addProp(String name, String value) {
       props.add(name, value);
     }
+    public void addAlias(String alias) {
+      if (aliases == null)
+        this.aliases = new LinkedHashSet<String>();
+      aliases.add(alias);
+    }
     public boolean equals(Object other) {
       if (other == this) return true;
       if (!(other instanceof Field)) return false;
@@ -476,11 +482,11 @@
     public String getFullName() { return name.full; }
     public void addAlias(String alias) {
       if (aliases == null)
-        this.aliases = new HashSet<Name>();
+        this.aliases = new LinkedHashSet<Name>();
       aliases.add(new Name(alias, name.space));
     }
     public Set<String> getAliases() {
-      Set<String> result = new HashSet<String>();
+      Set<String> result = new LinkedHashSet<String>();
       if (aliases != null)
         for (Name alias : aliases)
           result.add(alias.full);
@@ -625,6 +631,13 @@
         }
         if (f.order() != Field.Order.ASCENDING)
           gen.writeStringField("order", f.order().name);
+        if (f.aliases != null) {
+          gen.writeFieldName("aliases");
+          gen.writeStartArray();
+          for (String alias : f.aliases)
+            gen.writeString(alias);
+          gen.writeEndArray();
+        }
         f.props.write(gen);
         gen.writeEndObject();
       }
@@ -1052,7 +1065,7 @@
       return null;
     if (!aliasesNode.isArray())
       throw new SchemaParseException("aliases not an array: "+node);
-    Set<String> aliases = new HashSet<String>();
+    Set<String> aliases = new LinkedHashSet<String>();
     for (JsonNode aliasNode : aliasesNode) {
       if (!aliasNode.isTextual())
         throw new SchemaParseException("alias not a string: "+aliasNode);