Revision 2206 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/namestranslator/DummyNamesTranslator.java
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