Hello
Someone can help me
Thanks
package fr.codegym.task.task19.task1905;
import java.util.HashMap;
import java.util.Map;
/*
Renforcement de l'adaptateur
*/
public class Solution {
public static Map<String,String> countries = new HashMap<>();
static {
countries.put("UA", "Ukraine");
countries.put("US", "United States");
countries.put("FR", "France");
}
public static void main(String[] args) {
}
public static class DataAdapter implements RowItem{
private Customer customer;
private Contact contact;
public DataAdapter(Customer dataCustomer, Contact dataContact) {
this.customer = dataCustomer;
this.contact = dataContact;
}
@Override
public String getCountryCode() {
return countries.entrySet().stream().filter(entry -> customer.getCountryName().equals(entry.getValue())).map(Map.Entry::getKey).findFirst().get();
}
@Override
public String getCompany() {
return customer.getCompanyName();
}
@Override
public String getContactFirstName() {
return contact.getName().split(",")[1].trim();
}
@Override
public String getContactLastName() {
return contact.getName().split(",")[0].trim();
}
@Override
public String getDialString() {
return "+"+contact.getPhoneNumber().replaceAll("\\D+","");
}
}
public static interface RowItem {
String getCountryCode(); // Par exemple : US
String getCompany(); // Par exemple : CodeGym Ltd.
String getContactFirstName(); // Par exemple : John
String getContactLastName(); // Par exemple : Peterson
String getDialString(); // Par exemple : callto://+11112223333
}
public static interface Customer {
String getCompanyName(); // Par exemple : CodeGym Ltd.
String getCountryName(); // Par exemple : Etats-Unis
}
public static interface Contact {
String getName(); // Par exemple : Peterson, John
String getPhoneNumber(); // Par exemple : +1(111)222-3333, +3(805)0123-4567, +380(50)123-4567, etc.
}
}