Revision 2191 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
25 25
package org.gvsig.tools.namestranslator;
26 26

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

  
33 35
/**
34 36
 *
......
39 41
        implements NamesTranslator 
40 42
  {
41 43

  
42
  private DummyNamesTranslator() {
44
  private ArrayList<String> translatedNames;
45

  
46
  protected DummyNamesTranslator() {
43 47
    
44 48
  }
45 49
  
46
  public static final NamesTranslator create() {
47
    return new DummyNamesTranslator();
48
  }
49
  
50 50
  @Override
51 51
  protected void build() {
52
    this.translatedNames = new ArrayList<>(sourceNames);
52 53
    this.sourceNames = Collections.unmodifiableList(this.sourceNames);
53 54
  }
54 55

  
......
59 60

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

  
65 66
  @Override
66
  public String getTranslation(String name) {
67
    return name;
67
  public String getTranslation(String sourceName) {
68
    int n = this.sourceNames.indexOf(sourceName);
69
    if( n<0 ) {
70
      return null;
71
    }
72
    return this.translatedNames.get(n);
68 73
  }
69 74

  
70 75
  @Override
......
77 82
    return name;
78 83
  }
79 84

  
85
  @Override
86
  public String getTranslation(int index) {
87
    return this.translatedNames.get(index);
88
  }
89

  
90
  @Override
91
  public int setTranslation(String sourceName, String translatedName) {
92
    int n = this.sourceNames.indexOf(sourceName);
93
    if( n>=0 ) {
94
      this.translatedNames.set(n, translatedName);
95
    }
96
    return -1;
97
  }
98

  
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);
105
    }
106
    JsonArrayBuilder sourceNamesBuilder = Json.createArrayBuilder();
107
    for (String sourceName : sourceNames) {
108
      sourceNamesBuilder.add(sourceName);
109
    }
110
    builder.add("sourceNames", sourceNamesBuilder);
111
    builder.add("translatedNames", translatedNamesBuilder);
112
    return builder.build();
113
  }
114

  
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);
124
    }
125
    this.sourceNames = Collections.unmodifiableList(this.sourceNames);
126
  }
127
  
80 128
}

Also available in: Unified diff