Revision 2206 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/namestranslator/DummyNamesTranslator.java

View differences:

DummyNamesTranslator.java
24 24

  
25 25
package org.gvsig.tools.namestranslator;
26 26

  
27
import java.util.ArrayList;
28
import java.util.Collections;
29 27
import java.util.List;
30
import javax.json.Json;
31
import javax.json.JsonArrayBuilder;
32
import javax.json.JsonObject;
33
import javax.json.JsonObjectBuilder;
28
import java.util.function.Function;
34 29

  
35 30
/**
36 31
 *
......
41 36
        implements NamesTranslator 
42 37
  {
43 38

  
44
  protected ArrayList<String> translatedNames;
39
  protected SimpleList translatedNames;
45 40

  
46 41
  protected DummyNamesTranslator() {
47 42
    
......
49 44
  
50 45
  @Override
51 46
  protected void build() {
52
    this.translatedNames = new ArrayList<>(sourceNames);
53
    this.sourceNames = Collections.unmodifiableList(this.sourceNames);
47
    this.translatedNames = new SimpleList();
48
      for (String sourceName : sourceNames) {
49
          this.translatedNames.add(sourceName);
50
      }
51
    
54 52
  }
55 53

  
56 54
  @Override
57 55
  public List<String> getSourceNames() {
58
    return this.sourceNames;
56
    return this.sourceNames.toList();
59 57
  }
60 58

  
61 59
  @Override
62 60
  public List<String> getTranslatedNames() {
63
    return this.translatedNames;
61
    return this.translatedNames.toList();
64 62
  }
65 63

  
66 64
  @Override
......
96 94
    return -1;
97 95
  }
98 96

  
99
  @Override
100
  public JsonObject toJson() {
101
    JsonObjectBuilder builder = Json.createObjectBuilder();
102
    JsonArrayBuilder translatedNamesBuilder = Json.createArrayBuilder();
103
    for (String translatedName : translatedNames) {
104
      translatedNamesBuilder.add(translatedName);
97
    @Override
98
    public void rebuild() {
99
        this.build();
105 100
    }
106
    JsonArrayBuilder sourceNamesBuilder = Json.createArrayBuilder();
107
    for (String sourceName : sourceNames) {
108
      sourceNamesBuilder.add(sourceName);
101

  
102
    @Override
103
    public int addSource(String sourceName) {
104
        if (this.sourceNames.contains(sourceName)) {
105
            throw new IllegalArgumentException("Source name already exists in the name translator");
106
        }
107
        String sugName = getSuggestion(sourceName);
108
        return this.setTranslation(sourceName, sugName);
109 109
    }
110
    builder.add("sourceNames", sourceNamesBuilder);
111
    builder.add("translatedNames", translatedNamesBuilder);
112
    return builder.build();
113
  }
114 110

  
115
  @Override
116
  public void fromJson(JsonObject json) {
117
    this.sourceNames = new ArrayList<>();
118
    this.translatedNames = new ArrayList<>();
119
    for (int i = 0; i < json.getJsonArray("sourceNames").size(); i++) {
120
      String sourceName = json.getJsonArray("sourceNames").get(i).toString();
121
      String translatedName = json.getJsonArray("translatedNames").get(i).toString();
122
      this.sourceNames.add(sourceName);
123
      this.translatedNames.add(translatedName);
111
    @Override
112
    public void updateSourceNames(String[] names) {
113
        
124 114
    }
125
    this.sourceNames = Collections.unmodifiableList(this.sourceNames);
126
  }
115

  
116
    @Override
117
    public void updateSourceNames(Iterable<String> names) {
118
        
119
    }
120

  
121
    @Override
122
    public void updateSourceNames(Iterable objs, Function<Object, String> name_getter) {
123
        
124
    }
127 125
  
128 126
}

Also available in: Unified diff