Documentation for a newer release is available.
View Latest
Analizando un repositorio EMF
Para navegar un crudo ISO20022 programa de repositorio EMF de manera programática en Java, tome inspiración de los varios unit tests dentro del repositorio emf-loader.
Por ejemplo, el ListMessageDefinitionIdentifiersTest a continuación. Este buscó a través de todos los Message Definition Identifica conceptos 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);
}
}