use of org.eclipse.sw360.datahandler.thrift.vulnerabilities.Vulnerability in project sw360portal by sw360.
the class VulnerabilityConnector method addOrUpdate.
public VulnerabilityUpdateStatus addOrUpdate(Vulnerability vulnerability, ReleaseVulnerabilityRelation partiallyFilledRelation, VulnerabilityUpdateStatus currentVulnerabilityUpdateStatus) {
UpdateType updateType = addOrUpdate(vulnerability, partiallyFilledRelation);
currentVulnerabilityUpdateStatus.getStatusToVulnerabilityIds().get(updateType).add(vulnerability.getExternalId());
return currentVulnerabilityUpdateStatus;
}
use of org.eclipse.sw360.datahandler.thrift.vulnerabilities.Vulnerability in project sw360portal by sw360.
the class VulnerabilityConnector method addOrUpdateVulnerabilityAndSetId.
public Map<UpdateType, List<Vulnerability>> addOrUpdateVulnerabilityAndSetId(Vulnerability vulnerability, Map<UpdateType, List<Vulnerability>> statusToVulnerabilities) {
Vulnerability dbVulnerability = vulnerabilityDatabaseHandler.getByExternalId(Vulnerability.class, vulnerability.getExternalId());
if (dbVulnerability != null) {
if (!isMoreRecent(vulnerability, dbVulnerability)) {
statusToVulnerabilities.get(UpdateType.OLD).add(dbVulnerability);
return statusToVulnerabilities;
} else {
dbVulnerability = VulnerabilityMapper.updateFromVulnerability(dbVulnerability, vulnerability);
RequestStatus requestStatus = vulnerabilityDatabaseHandler.update(dbVulnerability);
if (RequestStatus.SUCCESS.equals(requestStatus)) {
statusToVulnerabilities.get(UpdateType.UPDATED).add(dbVulnerability);
return statusToVulnerabilities;
}
}
} else {
RequestStatus requestStatus = vulnerabilityDatabaseHandler.add(vulnerability);
if (RequestStatus.SUCCESS.equals(requestStatus)) {
statusToVulnerabilities.get(UpdateType.NEW).add(vulnerability);
return statusToVulnerabilities;
}
}
statusToVulnerabilities.get(UpdateType.FAILED).add(vulnerability);
return statusToVulnerabilities;
}
use of org.eclipse.sw360.datahandler.thrift.vulnerabilities.Vulnerability in project sw360portal by sw360.
the class CveSearchDataToVulnerabilityTranslator method apply.
@Override
public Vulnerability apply(CveSearchData cveSearchData) {
Vulnerability vulnerability = new Vulnerability().setTitle(cveSearchData.getId()).setCveReferences(getCVEReferencesForCveSearchdata(cveSearchData)).setDescription(cveSearchData.getSummary()).setPublishDate(cveSearchData.getPublished()).setLastExternalUpdate(cveSearchData.getModified()).setReferences(cveSearchData.getReferences()).setExternalId(cveSearchData.getId()).setImpact(cveSearchData.getImpact()).setAccess(cveSearchData.getAccess()).setVulnerableConfiguration(cveSearchData.getVulnerable_configuration()).setCwe(cveSearchData.getCwe()).setCveFurtherMetaDataPerSource(cveSearchData.getMap_cve_all());
if (cveSearchData.getCvss() != null) {
vulnerability.setIsSetCvss(true);
vulnerability.setCvss(cveSearchData.getCvss());
vulnerability.setCvssTime(cveSearchData.getCvss_time());
}
return vulnerability;
}
use of org.eclipse.sw360.datahandler.thrift.vulnerabilities.Vulnerability in project sw360portal by sw360.
the class VulnerabilityConnectorTest method testAddOrUpdateVulnerabilityAndSetIdNewVulnerability.
@Test
public void testAddOrUpdateVulnerabilityAndSetIdNewVulnerability() throws Exception {
Vulnerability v1 = new Vulnerability().setId("idv1").setExternalId("eid");
when(vulnerabilityDatabaseHandler.getByExternalId(Vulnerability.class, "eid")).thenReturn(null);
when(vulnerabilityDatabaseHandler.add(v1)).thenReturn(RequestStatus.SUCCESS);
Map<UpdateType, List<Vulnerability>> resultMap = vulnerabilityConnector.addOrUpdateVulnerabilityAndSetId(v1, statusToVulnerabilityMap);
assertThat(resultMap.get(UpdateType.NEW).get(0).getId(), is("idv1"));
assertThat(resultMap.get(UpdateType.OLD), is(Collections.EMPTY_LIST));
assertThat(resultMap.get(UpdateType.UPDATED), is(Collections.EMPTY_LIST));
assertThat(resultMap.get(UpdateType.FAILED), is(Collections.EMPTY_LIST));
}
use of org.eclipse.sw360.datahandler.thrift.vulnerabilities.Vulnerability in project sw360portal by sw360.
the class VulnerabilityConnectorTest method testAddOrUpdateVulnerabilityAndSetIdFailUpdate.
@Test
public void testAddOrUpdateVulnerabilityAndSetIdFailUpdate() throws Exception {
Vulnerability v2 = new Vulnerability().setLastExternalUpdate("2000-01-01").setId("idv2").setExternalId("eid");
when(vulnerabilityDatabaseHandler.getByExternalId(Vulnerability.class, "eid")).thenReturn(null);
when(vulnerabilityDatabaseHandler.add(v2)).thenReturn(RequestStatus.FAILURE);
Map<UpdateType, List<Vulnerability>> resultMap = vulnerabilityConnector.addOrUpdateVulnerabilityAndSetId(v2, statusToVulnerabilityMap);
assertThat(resultMap.get(UpdateType.FAILED).get(0).getId(), is("idv2"));
assertThat(resultMap.get(UpdateType.NEW), is(Collections.EMPTY_LIST));
assertThat(resultMap.get(UpdateType.OLD), is(Collections.EMPTY_LIST));
assertThat(resultMap.get(UpdateType.UPDATED), is(Collections.EMPTY_LIST));
}
Aggregations