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