Documentation for a newer release is available.
View Latest
Analizando un repositorio EMF
Para navegar un repositorio ISO20022 EMF sin procesar de forma programática en Java, inspírese en las diversas pruebas unitarias dentro del repositorio emf-loader.
Por ejemplo, el ListMessageDefinitionIdentifiersTest que se muestra a continuación. Este busca todos los conceptos de Message Definition Identifier y los imprime.
package com.iconsolutions.iso20022.analysis;
import iso20022.*;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.emf.ecore.EObject;
import org.junit.jupiter.api.Test;
import java.lang.String;
import java.util.*;
import java.util.stream.Collectors;
/**
* This runner list the message definitions contains with the original repo
*/
@Slf4j
public class ListMessageDefinitionIdentifiersTest extends AdhocAnalysis {
@Test
protected void analyse() throws Exception {
List<EObject> allObjects = getObjectsFromRepo(E_REPO_ORIGINAL);
List<MessageSet> messageSets = allOf(MessageSet.class, allObjects);
List<MessageDefinition> definitions = allOf(MessageDefinition.class, allObjects);
List<String> out= new ArrayList<>();
definitions.forEach(def -> {
List<MessageSet> msForDef = messageSets.stream().filter(set -> set.getMessageDefinition().contains(def)).collect(Collectors.toList());
Set<String> setTitles = msForDef.stream().map(ms -> ms.getName().split(" -")[0]).collect(Collectors.toSet());
out.add(def.getMessageDefinitionIdentifier().getBusinessArea() + "."
+ def.getMessageDefinitionIdentifier().getMessageFunctionality() + "."
+ def.getMessageDefinitionIdentifier().getFlavour() + "."
+ def.getMessageDefinitionIdentifier().getVersion() + " : "
+ Arrays.toString(setTitles.toArray()));
});
out.sort(Comparator.naturalOrder());
out.forEach(log::debug);
}
}