use of net.ripe.rpki.validator3.api.slurm.dtos.Slurm in project rpki-validator-3 by RIPE-NCC.
the class SlurmService method process.
@Transactional(Transactional.TxType.REQUIRED)
public void process(final Slurm slurm) {
if (slurm.getLocallyAddedAssertions() != null && slurm.getLocallyAddedAssertions().getPrefixAssertions() != null) {
roaPrefixAssertionsService.clear();
slurm.getLocallyAddedAssertions().getPrefixAssertions().forEach(prefixAsertion -> {
final AddRoaPrefixAssertion add = AddRoaPrefixAssertion.builder().asn(prefixAsertion.getAsn() == null ? null : prefixAsertion.getAsn().toString()).prefix(prefixAsertion.getPrefix()).maximumLength(prefixAsertion.getMaxPrefixLength()).comment(prefixAsertion.getComment()).build();
roaPrefixAssertionsService.execute(add);
});
}
if (slurm.getValidationOutputFilters() != null && slurm.getValidationOutputFilters().getPrefixFilters() != null) {
ignoreFilterService.clear();
slurm.getValidationOutputFilters().getPrefixFilters().forEach(prefixFilter -> {
final AddIgnoreFilter addIgnoreFilter = AddIgnoreFilter.builder().asn(prefixFilter.getAsn() == null ? null : prefixFilter.getAsn().toString()).prefix(prefixFilter.getPrefix()).comment(prefixFilter.getComment()).build();
ignoreFilterService.execute(addIgnoreFilter);
});
}
if (slurm.getLocallyAddedAssertions() != null && slurm.getLocallyAddedAssertions().getBgpsecAssertions() != null) {
bgpSecAssertionsService.clear();
slurm.getLocallyAddedAssertions().getBgpsecAssertions().forEach(bgpSecAssertion -> {
AddBgpSecAssertion add = AddBgpSecAssertion.builder().asn(bgpSecAssertion.getAsn() == null ? null : bgpSecAssertion.getAsn().toString()).publicKey(bgpSecAssertion.getPublicKey()).ski(bgpSecAssertion.getSki()).comment(bgpSecAssertion.getComment()).build();
bgpSecAssertionsService.execute(add);
});
}
if (slurm.getValidationOutputFilters() != null && slurm.getValidationOutputFilters().getBgpsecFilters() != null) {
bgpSecFilterService.clear();
slurm.getValidationOutputFilters().getBgpsecFilters().forEach(bgpSecFilter -> {
AddBgpSecFilter add = AddBgpSecFilter.builder().asn(bgpSecFilter.getAsn() == null ? null : bgpSecFilter.getAsn().toString()).routerSki(bgpSecFilter.getRouterSKI()).comment(bgpSecFilter.getComment()).build();
bgpSecFilterService.execute(add);
});
}
}
use of net.ripe.rpki.validator3.api.slurm.dtos.Slurm in project rpki-validator-3 by RIPE-NCC.
the class SlurmService method get.
public Slurm get() {
final Slurm slurm = new Slurm();
final SlurmLocallyAddedAssertions slurmLocallyAddedAssertions = new SlurmLocallyAddedAssertions();
slurmLocallyAddedAssertions.setPrefixAssertions(roaPrefixAssertionsService.all().map(a -> {
final SlurmPrefixAssertion prefixAssertion = new SlurmPrefixAssertion();
prefixAssertion.setAsn(a.getAsn());
prefixAssertion.setPrefix(a.getPrefix());
prefixAssertion.setMaxPrefixLength(a.getMaximumLength());
prefixAssertion.setComment(a.getComment());
return prefixAssertion;
}).collect(Collectors.toList()));
slurmLocallyAddedAssertions.setBgpsecAssertions(bgpSecAssertionsService.all().map(a -> {
final SlurmBgpSecAssertion bgpSecAssertion = new SlurmBgpSecAssertion();
bgpSecAssertion.setAsn(a.getAsn());
bgpSecAssertion.setSki(a.getSki());
bgpSecAssertion.setPublicKey(a.getPublicKey());
bgpSecAssertion.setComment(a.getComment());
return bgpSecAssertion;
}).collect(Collectors.toList()));
slurm.setLocallyAddedAssertions(slurmLocallyAddedAssertions);
final SlurmOutputFilters filters = new SlurmOutputFilters();
filters.setPrefixFilters(ignoreFilterService.all().map(f -> {
final SlurmPrefixFilter prefixFilter = new SlurmPrefixFilter();
prefixFilter.setAsn(f.getAsn());
prefixFilter.setPrefix(f.getPrefix());
prefixFilter.setComment(f.getComment());
return prefixFilter;
}).collect(Collectors.toList()));
filters.setBgpsecFilters(bgpSecFilterService.all().map(f -> {
final SlurmBgpSecFilter bgpSecFilter = new SlurmBgpSecFilter();
bgpSecFilter.setAsn(f.getAsn());
bgpSecFilter.setRouterSKI(f.getRouterSki());
bgpSecFilter.setComment(f.getComment());
return bgpSecFilter;
}).collect(Collectors.toList()));
slurm.setValidationOutputFilters(filters);
return slurm;
}
use of net.ripe.rpki.validator3.api.slurm.dtos.Slurm in project rpki-validator-3 by RIPE-NCC.
the class SlurmParserTest method parse.
@Test
public void parse() throws IOException {
final Slurm slurm = SlurmParser.parse(read("slurm/slurm1.json"));
final List<SlurmPrefixFilter> prefixFilters = slurm.getValidationOutputFilters().getPrefixFilters();
assertEquals(null, prefixFilters.get(0).getAsn());
assertEquals(new Long(64496), prefixFilters.get(1).getAsn());
assertEquals(new Long(64497), prefixFilters.get(2).getAsn());
assertEquals("198.51.100.0/24", prefixFilters.get(2).getPrefix());
assertEquals("All VRPs encompassed by prefix, matching ASN", prefixFilters.get(2).getComment());
final List<SlurmBgpSecFilter> bgpsecFilters = slurm.getValidationOutputFilters().getBgpsecFilters();
assertEquals(new Long(64496), bgpsecFilters.get(0).getAsn());
assertEquals(null, bgpsecFilters.get(1).getAsn());
assertEquals("Zm9v", bgpsecFilters.get(1).getRouterSKI());
assertEquals(new Long(64497), bgpsecFilters.get(2).getAsn());
assertEquals("YmFy", bgpsecFilters.get(2).getRouterSKI());
assertEquals("Key for ASN 64497 matching Router SKI", bgpsecFilters.get(2).getComment());
final List<SlurmPrefixAssertion> prefixAssertions = slurm.getLocallyAddedAssertions().getPrefixAssertions();
assertEquals(new Long(64496), prefixAssertions.get(0).getAsn());
assertEquals("198.51.100.0/24", prefixAssertions.get(0).getPrefix());
assertEquals("My other important route", prefixAssertions.get(0).getComment());
assertEquals(null, prefixAssertions.get(0).getMaxPrefixLength());
assertEquals(new Long(64496), prefixAssertions.get(1).getAsn());
assertEquals("2001:DB8::/32", prefixAssertions.get(1).getPrefix());
assertEquals(new Integer(48), prefixAssertions.get(1).getMaxPrefixLength());
assertEquals("My other important de-aggregated routes", prefixAssertions.get(1).getComment());
final List<SlurmBgpSecAssertion> bgpsecAssertions = slurm.getLocallyAddedAssertions().getBgpsecAssertions();
assertEquals(new Long(64496), bgpsecAssertions.get(0).getAsn());
assertEquals("<some base64 SKI>", bgpsecAssertions.get(0).getSki());
assertEquals("<some base64 public key>", bgpsecAssertions.get(0).getPublicKey());
assertEquals("My known key for my important ASN", bgpsecAssertions.get(0).getComment());
}
Aggregations