use of org.eclipse.sw360.datahandler.thrift.cvesearch.UpdateType 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.cvesearch.UpdateType 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.cvesearch.UpdateType 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));
}
use of org.eclipse.sw360.datahandler.thrift.cvesearch.UpdateType in project sw360portal by sw360.
the class VulnerabilityConnectorTest method testAddOrUpdateVulnerabilityAndSetIdOldVulnerability.
@Test
public void testAddOrUpdateVulnerabilityAndSetIdOldVulnerability() throws Exception {
Vulnerability v1 = new Vulnerability().setLastExternalUpdate("2000-01-01").setId("idv1").setExternalId("eid");
Vulnerability v2 = new Vulnerability().setLastExternalUpdate("2000-01-01").setId("idv2").setExternalId("eid");
when(vulnerabilityDatabaseHandler.getByExternalId(Vulnerability.class, "eid")).thenReturn(v1);
Map<UpdateType, List<Vulnerability>> resultMap = vulnerabilityConnector.addOrUpdateVulnerabilityAndSetId(v2, statusToVulnerabilityMap);
assertThat(resultMap.get(UpdateType.OLD).get(0).getId(), is("idv1"));
assertThat(resultMap.get(UpdateType.NEW), 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.cvesearch.UpdateType in project sw360portal by sw360.
the class VulnerabilityConnectorTest method testAddOrUpdateVulnerabilityAndSetIdFailAdd.
@Test
public void testAddOrUpdateVulnerabilityAndSetIdFailAdd() throws Exception {
Vulnerability v1 = new Vulnerability().setLastExternalUpdate("1999-12-31").setId("idv1").setExternalId("eid");
Vulnerability v2 = new Vulnerability().setLastExternalUpdate("2000-01-01").setId("idv2").setExternalId("eid");
when(vulnerabilityDatabaseHandler.getByExternalId(Vulnerability.class, "eid")).thenReturn(v1);
when(vulnerabilityDatabaseHandler.update(v1)).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