Search in sources :

Example 1 with BdioId

use of com.synopsys.integration.bdio.model.BdioId in project synopsys-detect by blackducksoftware.

the class DependencyGraphResourceTestUtil method assertSummaries.

public static void assertSummaries(GraphSummary expected, GraphSummary actual) {
    assertSet(expected.rootExternalDataIds, actual.rootExternalDataIds, "Root external ids");
    assertSet(expected.dependencySummaries.keySet(), actual.dependencySummaries.keySet(), "Dependencies in graph");
    Set<BdioId> expectedRelationshipIds = expected.externalDataIdRelationships.keySet();
    Set<BdioId> expectedExistingRelationshipsIds = expectedRelationshipIds.stream().filter(key -> expected.externalDataIdRelationships.get(key) != null && expected.externalDataIdRelationships.get(key).size() > 0).collect(Collectors.toSet());
    Set<BdioId> actualRelationshipIds = actual.externalDataIdRelationships.keySet();
    Set<BdioId> actualExistingRelationshipsIds = actualRelationshipIds.stream().filter(key -> actual.externalDataIdRelationships.get(key) != null && actual.externalDataIdRelationships.get(key).size() > 0).collect(Collectors.toSet());
    assertSet(expectedExistingRelationshipsIds, actualExistingRelationshipsIds, "Existing relationships");
    for (BdioId key : expected.dependencySummaries.keySet()) {
        assertEquals(expected.dependencySummaries.get(key).getName(), actual.dependencySummaries.get(key).getName());
        assertEquals(expected.dependencySummaries.get(key).getVersion(), actual.dependencySummaries.get(key).getVersion());
    }
    for (BdioId key : expectedExistingRelationshipsIds) {
        assertSet(expected.externalDataIdRelationships.get(key), actual.externalDataIdRelationships.get(key), "External data id relationships for " + key);
    }
}
Also used : HashSet(java.util.HashSet) DependencyGraph(com.synopsys.integration.bdio.graph.DependencyGraph) Gson(com.google.gson.Gson) Set(java.util.Set) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) Collectors(java.util.stream.Collectors) GsonBuilder(com.google.gson.GsonBuilder) BdioId(com.synopsys.integration.bdio.model.BdioId) BdioId(com.synopsys.integration.bdio.model.BdioId)

Example 2 with BdioId

use of com.synopsys.integration.bdio.model.BdioId in project synopsys-detect by blackducksoftware.

the class DependencyGraphSummaryComparer method areEqual.

public boolean areEqual(GraphSummary left, GraphSummary right) {
    boolean isEqual = true;
    isEqual = isEqual && left.rootExternalDataIds.equals(right.rootExternalDataIds);
    isEqual = isEqual && left.dependencySummaries.keySet().equals(right.dependencySummaries.keySet());
    Set<BdioId> leftRelationshipIds = left.externalDataIdRelationships.keySet();
    Set<BdioId> leftExistingRelationshipsIds = leftRelationshipIds.stream().filter(key -> left.externalDataIdRelationships.get(key) != null && left.externalDataIdRelationships.get(key).size() > 0).collect(Collectors.toSet());
    Set<BdioId> rightRelationshipIds = right.externalDataIdRelationships.keySet();
    Set<BdioId> rightExistingRelationshipsIds = rightRelationshipIds.stream().filter(key -> right.externalDataIdRelationships.get(key) != null && right.externalDataIdRelationships.get(key).size() > 0).collect(Collectors.toSet());
    isEqual = isEqual && leftExistingRelationshipsIds.equals(rightExistingRelationshipsIds);
    for (BdioId key : left.dependencySummaries.keySet()) {
        isEqual = isEqual && left.dependencySummaries.get(key).getName().equals(right.dependencySummaries.get(key).getName());
        isEqual = isEqual && left.dependencySummaries.get(key).getVersion().equals(right.dependencySummaries.get(key).getVersion());
    }
    for (BdioId key : leftExistingRelationshipsIds) {
        isEqual = isEqual && left.externalDataIdRelationships.get(key).equals(right.externalDataIdRelationships.get(key));
    }
    return isEqual;
}
Also used : DependencyGraph(com.synopsys.integration.bdio.graph.DependencyGraph) Set(java.util.Set) Collectors(java.util.stream.Collectors) BdioId(com.synopsys.integration.bdio.model.BdioId) BdioId(com.synopsys.integration.bdio.model.BdioId)

Example 3 with BdioId

use of com.synopsys.integration.bdio.model.BdioId in project synopsys-detect by blackducksoftware.

the class DependencyGraphSummarizer method fromGraph.

public GraphSummary fromGraph(DependencyGraph graph) {
    Queue<Dependency> unprocessed = new LinkedList<>(graph.getRootDependencies());
    Set<Dependency> processed = new HashSet<>();
    GraphSummary graphSummary = new GraphSummary();
    while (unprocessed.size() > 0) {
        Dependency nextDependency = unprocessed.remove();
        processed.add(nextDependency);
        BdioId nextId = nextDependency.getExternalId().createBdioId();
        if (!graphSummary.dependencySummaries.containsKey(nextId)) {
            NameVersion nameVersion = new NameVersion();
            nameVersion.setName(nextDependency.getName());
            nameVersion.setVersion(nextDependency.getVersion());
            graphSummary.dependencySummaries.put(nextId, nameVersion);
        }
        for (Dependency dep : graph.getChildrenForParent(nextDependency)) {
            if (!graphSummary.externalDataIdRelationships.containsKey(nextId)) {
                graphSummary.externalDataIdRelationships.put(nextId, new HashSet<>());
            }
            graphSummary.externalDataIdRelationships.get(nextId).add(dep.getExternalId().createBdioId());
            if (!processed.contains(dep)) {
                unprocessed.add(dep);
            }
        }
    }
    graph.getRootDependencies().stream().map(Dependency::getExternalId).map(ExternalId::createBdioId).forEach(graphSummary.rootExternalDataIds::add);
    return graphSummary;
}
Also used : BdioId(com.synopsys.integration.bdio.model.BdioId) NameVersion(com.synopsys.integration.util.NameVersion) Dependency(com.synopsys.integration.bdio.model.dependency.Dependency) LinkedList(java.util.LinkedList) HashSet(java.util.HashSet)

Example 4 with BdioId

use of com.synopsys.integration.bdio.model.BdioId in project synopsys-detect by blackducksoftware.

the class DependencyGraphSummarizer method fromGraph.

public GraphSummary fromGraph(DependencyGraph graph) {
    Queue<Dependency> unprocessed = new LinkedList<>(graph.getRootDependencies());
    Set<Dependency> processed = new HashSet<>();
    GraphSummary graphSummary = new GraphSummary();
    while (unprocessed.size() > 0) {
        Dependency nextDependency = unprocessed.remove();
        processed.add(nextDependency);
        BdioId nextId = nextDependency.getExternalId().createBdioId();
        if (!graphSummary.dependencySummaries.containsKey(nextId)) {
            NameVersion nameVersion = new NameVersion();
            nameVersion.setName(nextDependency.getName());
            nameVersion.setVersion(nextDependency.getVersion());
            graphSummary.dependencySummaries.put(nextId, nameVersion);
        }
        for (Dependency dep : graph.getChildrenForParent(nextDependency)) {
            if (!graphSummary.externalDataIdRelationships.containsKey(nextId)) {
                graphSummary.externalDataIdRelationships.put(nextId, new HashSet<>());
            }
            graphSummary.externalDataIdRelationships.get(nextId).add(dep.getExternalId().createBdioId());
            if (!processed.contains(dep)) {
                unprocessed.add(dep);
            }
        }
    }
    graph.getRootDependencies().stream().map(Dependency::getExternalId).map(ExternalId::createBdioId).forEach(graphSummary.rootExternalDataIds::add);
    return graphSummary;
}
Also used : BdioId(com.synopsys.integration.bdio.model.BdioId) NameVersion(com.synopsys.integration.util.NameVersion) Dependency(com.synopsys.integration.bdio.model.dependency.Dependency) LinkedList(java.util.LinkedList) HashSet(java.util.HashSet)

Example 5 with BdioId

use of com.synopsys.integration.bdio.model.BdioId in project synopsys-detect by blackducksoftware.

the class DependencyGraphSummaryComparer method areEqual.

public boolean areEqual(GraphSummary left, GraphSummary right) {
    boolean isEqual = true;
    isEqual = isEqual && left.rootExternalDataIds.equals(right.rootExternalDataIds);
    isEqual = isEqual && left.dependencySummaries.keySet().equals(right.dependencySummaries.keySet());
    Set<BdioId> leftRelationshipIds = left.externalDataIdRelationships.keySet();
    Set<BdioId> leftExistingRelationshipsIds = leftRelationshipIds.stream().filter(key -> left.externalDataIdRelationships.get(key) != null && left.externalDataIdRelationships.get(key).size() > 0).collect(Collectors.toSet());
    Set<BdioId> rightRelationshipIds = right.externalDataIdRelationships.keySet();
    Set<BdioId> rightExistingRelationshipsIds = rightRelationshipIds.stream().filter(key -> right.externalDataIdRelationships.get(key) != null && right.externalDataIdRelationships.get(key).size() > 0).collect(Collectors.toSet());
    isEqual = isEqual && leftExistingRelationshipsIds.equals(rightExistingRelationshipsIds);
    for (BdioId key : left.dependencySummaries.keySet()) {
        isEqual = isEqual && left.dependencySummaries.get(key).getName().equals(right.dependencySummaries.get(key).getName());
        isEqual = isEqual && left.dependencySummaries.get(key).getVersion().equals(right.dependencySummaries.get(key).getVersion());
    }
    for (BdioId key : leftExistingRelationshipsIds) {
        isEqual = isEqual && left.externalDataIdRelationships.get(key).equals(right.externalDataIdRelationships.get(key));
    }
    return isEqual;
}
Also used : DependencyGraph(com.synopsys.integration.bdio.graph.DependencyGraph) Set(java.util.Set) Collectors(java.util.stream.Collectors) BdioId(com.synopsys.integration.bdio.model.BdioId) BdioId(com.synopsys.integration.bdio.model.BdioId)

Aggregations

BdioId (com.synopsys.integration.bdio.model.BdioId)6 DependencyGraph (com.synopsys.integration.bdio.graph.DependencyGraph)4 HashSet (java.util.HashSet)4 Set (java.util.Set)4 Collectors (java.util.stream.Collectors)4 Gson (com.google.gson.Gson)2 GsonBuilder (com.google.gson.GsonBuilder)2 Dependency (com.synopsys.integration.bdio.model.dependency.Dependency)2 NameVersion (com.synopsys.integration.util.NameVersion)2 LinkedList (java.util.LinkedList)2 Assertions (org.junit.jupiter.api.Assertions)1 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)1