List<GNExplainInfoDTO> list = new ArrayList<GNExplainInfoDTO>();
while (it.hasNext()) {
CrosswalkDBO cw = it.next();
for ( String key : cw.getMappings().keySet() ) {
AttrMappingDBO attrmaping = cw.getMappings().get(key);
if (attrmaping.getTargetAttrs().isEmpty() ) {
continue;
}
// namespace is not important, just important that it is there (for the patternmatching)
String attrString = attrmaping.getTargetAttrs().iterator().next().getWithDefaultNamespace("geo");
// find out which are the actual attribute mappings (this is ugly)
// "geo:1.4" matches, "something:1.3443", too, but not "gagh" or "geo.2.22"
Matcher m = p.matcher(attrString);
if ( m.find() ) {
String id = m.group(1);
GNExplainInfoDTO exl = new GNExplainInfoDTO(id);
exl.addMapping( attrmaping.getSourceAttrValue() , cw.getSourceNamespace() ) ;
list.add(exl);
}