org.unlaxer.jaddress.elaticesearch.RequestData2 Maven / Gradle / Ivy
package org.unlaxer.jaddress.elaticesearch;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.unlaxer.jaddress.entity.standard.郵便番号;
import org.unlaxer.jaddress.parser.AddressContext;
import org.unlaxer.jaddress.parser.AddressElements;
import org.unlaxer.jaddress.parser.AddressParser;
import org.unlaxer.jaddress.parser.AddressParserImpl;
import org.unlaxer.jaddress.parser.DataAccessContextImpl;
import org.unlaxer.jaddress.parser.ParsingContext;
import org.unlaxer.jaddress.parser.ParsingState;
import org.unlaxer.util.Either;
import org.unlaxer.util.collection.ID;
public class RequestData2 {
public String id;
public Map map;
public RequestData2(String input) {
super();
parse(input);
}
private void parse(String input) {
List list = Arrays.asList(input.split("\t"));
String zip = list.get(0);
List address = list.subList(1, list.size());
ParsingContext parsingContext = new ParsingContext(new DataAccessContextImpl(),
new AddressContext(ID.generate(), new 郵便番号(zip), address));
AddressParser addressParser = new AddressParserImpl();
addressParser.parse(parsingContext);
AddressContext addressContext2 = parsingContext.addressContext;
id = addressContext2.id.getName();
map = new TreeMap<>();
map.put("zip", addressContext2.zip.hyphonated);
map.put("input", input);
Either results = parsingContext.addressContext.results();
results.right.ifPresent(result -> {
result.get().stream().forEach(as -> {
as.get().forEach(addressElement -> {
String value = addressElement.asString();
if (value != null && !value.isBlank()) {
map.put(String.valueOf(addressElement.階層要素().level), value);
}
});
});
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy