2017-06-11 5 views
0

J'ai localisé l'élément de données brut baseName. Je souhaite envoyer un élément de données brutes localisé à DataHub. Je lis beaucoup de documents, il écrit la valeur d'attribut brute localisée mais je n'ai pas trouvé le format de la valeur d'attribut localisée. Dans la composition, il déclenche une exception INVALID_LOCALE.Hybris DataHub INVALID_LOCALE Exception

J'envoie une valeur pour baseName, mais comment puis-je localiser "XYZ"?

RawFragmentData rawFragmentData = new RawFragmentData(); 
final Map<String, String> line = new HashMap<>(); 
........   
line.put("baseName", "XYZ"); 
........   
rawFragmentData.setValueMap(line); 
rawFragmentData.setType(type); 
rawFragmentData.setDataFeedName(feedName); 
rawFragmentData.setExtensionSource(Constants.DATAHUB_EXTENSION_SOURCE); 
return rawFragmentData; 
+0

avez-vous essayé de ressembler à impex? line.put ("baseName [lang = en]", "XYZ"); – mkysoft

+0

J'essaie cela avant, mais cela ne fonctionne pas. J'ai trouvé la solution à la fin, pour la valeur localisée après l'ajout de ligne ajoutez également la valeur locale comme line.put ("isoCode", "en"); , et il fonctionne. –

Répondre

0

OOTB par exemple:

DefaultPartnerContributor.Java :- 
    row.put(PartnerCsvColumns.COUNTRY_ISO_CODE, address.getCountry()); 

Même manière que vous pourriez avoir languageColumn pour cela, passer si juste valeur de la langue à elle.