I cannot find the mistake in the getDialString - method within the DataAdapter class. Can you help me, please?
package de.codegym.task.task19.task1905;
import java.util.HashMap;
import java.util.Map;
/*
Adapter stärken
*/
public class Solution {
public static Map<String,String> countries = new HashMap<>();
static {
countries.put("UA", "Ukraine");
countries.put("US", "Vereinigte Staaten von Amerika");
countries.put("FR", "Frankreich");
}
public static void main(String[] args) {
}
public static class DataAdapter implements RowItem {
private Customer customer;
private Contact contact;
public DataAdapter(Customer customer, Contact contact) {
this.customer = customer;
this.contact = contact;
}
@Override
public String getCountryCode() {
String countryCode = null;
for (Map.Entry<String,String> item : countries.entrySet()){
if (item.getValue().equals(customer.getCountryName()))
countryCode = item.getKey();
}
return countryCode;
}
@Override
public String getCompany() {
return customer.getCompanyName();
}
@Override
public String getContactFirstName() {
String name = contact.getName();
String[] parts = name.split(", ");
return parts[1];
}
@Override
public String getContactLastName() {
String name = contact.getName();
String[] parts = name.split(", ");
return parts[0];
}
@Override
public String getDialString() {
// callto://+11112223333
String nummer = contact.getPhoneNumber();
String[] teilNr = nummer.split(", ");
nummer = teilNr[0];
String p1 = nummer.substring(1, 2);
String p2 = nummer.substring(3, 6);
String p3 = nummer.substring(7, 10);
String p4 = nummer.substring(11);
nummer = "callto://+" + p1 + p2 + p3 + p4;
return nummer;
}
}
public static interface RowItem {
String getCountryCode(); // Beispiel: US
String getCompany(); // Beispiel: CodeGym Ltd.
String getContactFirstName(); // Beispiel: John
String getContactLastName(); // Beispiel: Peterson
String getDialString(); // Beispiel: callto://+11112223333
}
public static interface Customer {
String getCompanyName(); // Beispiel: CodeGym Ltd.
String getCountryName(); // Beispiel: United States
}
public static interface Contact {
String getName(); // Beispiel: Peterson, John
String getPhoneNumber(); // Beispiel: +1(111)222-3333, +3(805)0123-4567, +380(50)123-4567 usw.
}
}