aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/onap/aai/graphgraph/App.java2
-rw-r--r--src/main/java/org/onap/aai/graphgraph/Config.java16
-rw-r--r--src/main/java/org/onap/aai/graphgraph/CorsFilter.java13
-rw-r--r--src/main/java/org/onap/aai/graphgraph/ModelExporter.java82
-rw-r--r--src/main/java/org/onap/aai/graphgraph/SchemaResource.java7
-rw-r--r--src/main/java/org/onap/aai/graphgraph/SchemaValidator.java2
-rw-r--r--src/main/java/org/onap/aai/graphgraph/reader/BasicSchemaReader.java13
-rw-r--r--src/main/java/org/onap/aai/graphgraph/reader/MetadataEdge.java7
-rw-r--r--src/main/java/org/onap/aai/graphgraph/reader/SchemaReader.java3
-rw-r--r--src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java2
-rw-r--r--src/main/java/org/onap/aai/graphgraph/velocity/VelocityAssociation.java6
-rw-r--r--src/main/java/org/onap/aai/graphgraph/velocity/VelocityId.java4
12 files changed, 81 insertions, 76 deletions
diff --git a/src/main/java/org/onap/aai/graphgraph/App.java b/src/main/java/org/onap/aai/graphgraph/App.java
index 1c6bc61..3aa326e 100644
--- a/src/main/java/org/onap/aai/graphgraph/App.java
+++ b/src/main/java/org/onap/aai/graphgraph/App.java
@@ -50,7 +50,7 @@ public class App {
// to some initialization issues. By all means feel free to improve and move it to Spring
public static void loadSchemes(ConfigurableApplicationContext context) {
String version;
- for (int i = 10; i < 19; i++) {
+ for (int i = 10; i <= 20; i++) {
version = "v" + i;
moxyLoaders.put(version, new MoxyLoader(
new SchemaVersion(version), (NodeIngestor) context.getBean("nodeIngestor"))
diff --git a/src/main/java/org/onap/aai/graphgraph/Config.java b/src/main/java/org/onap/aai/graphgraph/Config.java
index bbc082f..286d40e 100644
--- a/src/main/java/org/onap/aai/graphgraph/Config.java
+++ b/src/main/java/org/onap/aai/graphgraph/Config.java
@@ -19,10 +19,9 @@
*/
package org.onap.aai.graphgraph;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.Arrays;
+import java.util.stream.Collectors;
import org.onap.aai.graphgraph.reader.BasicSchemaReader;
-import org.onap.aai.graphgraph.reader.SchemaReader;
import org.onap.aai.graphgraph.reader.SchemaRepository;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
@@ -42,11 +41,10 @@ public class Config {
@Bean
SchemaRepository createSchemaRepository() {
- List<SchemaReader> readers = new LinkedList<>();
- for (String s : schemaVersions.split(",")) {
- readers.add(new BasicSchemaReader(s));
- }
- return new SchemaRepository(readers);
+ return new SchemaRepository(
+ Arrays.stream(schemaVersions.split(","))
+ .map(BasicSchemaReader::new)
+ .collect(Collectors.toList())
+ );
}
}
-
diff --git a/src/main/java/org/onap/aai/graphgraph/CorsFilter.java b/src/main/java/org/onap/aai/graphgraph/CorsFilter.java
index ab97255..384476b 100644
--- a/src/main/java/org/onap/aai/graphgraph/CorsFilter.java
+++ b/src/main/java/org/onap/aai/graphgraph/CorsFilter.java
@@ -31,14 +31,15 @@ import org.springframework.web.filter.OncePerRequestFilter;
public class CorsFilter extends OncePerRequestFilter {
@Override
- protected void doFilterInternal(final HttpServletRequest request, final HttpServletResponse response,
- final FilterChain filterChain) throws ServletException, IOException {
+ protected void doFilterInternal(
+ final HttpServletRequest request,
+ final HttpServletResponse response,
+ final FilterChain filterChain
+ ) throws ServletException, IOException {
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, PATCH, HEAD");
- response.addHeader("Access-Control-Allow-Headers",
- "Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
- response.addHeader("Access-Control-Expose-Headers",
- "Access-Control-Allow-Origin, Access-Control-Allow-Credentials");
+ response.addHeader("Access-Control-Allow-Headers", "Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
+ response.addHeader("Access-Control-Expose-Headers", "Access-Control-Allow-Origin, Access-Control-Allow-Credentials");
response.addHeader("Access-Control-Allow-Credentials", "true");
response.addIntHeader("Access-Control-Max-Age", 10);
filterChain.doFilter(request, response);
diff --git a/src/main/java/org/onap/aai/graphgraph/ModelExporter.java b/src/main/java/org/onap/aai/graphgraph/ModelExporter.java
index 047bd92..474e7de 100644
--- a/src/main/java/org/onap/aai/graphgraph/ModelExporter.java
+++ b/src/main/java/org/onap/aai/graphgraph/ModelExporter.java
@@ -28,6 +28,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
+import java.util.Optional;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -77,10 +78,11 @@ public class ModelExporter {
private static void addOxmRelationships(
Multimap<String, EdgeRule> allRules,
- Map<String, Introspector> allEntities) {
+ Map<String, Introspector> allEntities
+ ) {
for (Entry<String, Introspector> currentParent : allEntities.entrySet()) {
currentParent.getValue().getProperties().stream()
- .filter(v -> allEntities.containsKey(v))
+ .filter(allEntities::containsKey)
.filter(v -> !currentParent.getKey().equals(v))
.forEach(v -> {
String key = currentParent.getKey() + "|" + v;
@@ -128,11 +130,13 @@ public class ModelExporter {
private static VelocityContext populateVelocityContext(
String schemaVersion,
- Map<String, Introspector> allObjects) {
+ Map<String, Introspector> allObjects
+ ) {
VelocityContext context = new VelocityContext();
Multimap<String, EdgeRule> edgeRules = getEdgeRules(schemaVersion);
Set<VelocityEntity> entityList = createEntityList(edgeRules);
- Set<VelocityAssociation> associationsList = createVelocityAssociations(entityList, edgeRules);
+ Set<VelocityAssociation> associationsList = createVelocityAssociations(
+ entityList, Objects.requireNonNull(edgeRules));
updateEntities(entityList, associationsList, allObjects);
context.put("entityList", entityList);
context.put("associationList", associationsList);
@@ -150,7 +154,8 @@ public class ModelExporter {
private static void updateEntities(
Set<VelocityEntity> entityList,
Set<VelocityAssociation> associationsList,
- Map<String, Introspector> allObjects) {
+ Map<String, Introspector> allObjects
+ ) {
entityList.forEach(e -> {
List<VelocityAssociation> associations = associationsList.stream()
.filter(a -> a.getFromEntityId().equals(e.getId())).collect(
@@ -161,16 +166,16 @@ public class ModelExporter {
});
entityList.forEach(
- entity -> entity.setProperties(getPropertiesForEntity(allObjects.get(entity.getName()), entityList)));
-
+ e -> e.setProperties(getPropertiesForEntity(allObjects.get(e.getName()), entityList)));
}
private static void updateNeighbour(
- Set<VelocityEntity> entityList, List<VelocityAssociation> associations) {
+ Set<VelocityEntity> entityList, List<VelocityAssociation> associations
+ ) {
associations.forEach(ass -> {
- VelocityEntity velocityEntity = entityList.stream()
- .filter(e -> e.getId().equals(ass.getToEntityId())).findFirst().get();
- velocityEntity.addNeighbours(ass);
+ Optional<VelocityEntity> velocityEntity = entityList.stream()
+ .filter(e -> e.getId().equals(ass.getToEntityId())).findFirst();
+ velocityEntity.ifPresent(entity -> entity.addNeighbours(ass));
});
}
@@ -217,33 +222,36 @@ public class ModelExporter {
private static VelocityAssociation createVelocityAssociation(
Set<VelocityEntity> entities, String from, String to, String label, String multiplicity, String contains) {
- VelocityEntity fromEntity = entities.stream()
- .filter(ent -> ent.getName().equals(from)).findFirst().get();
- VelocityEntity toEntity = entities.stream()
- .filter(ent -> ent.getName().equals(to)).findFirst().get();
- switch (contains) {
- case "IN":
- return new VelocityAssociation(
- fromEntity,
- toEntity,
- String.format("%s - %s (%s)", from, to, shortenLabel(label)),
- multiplicity,
- true);
- case "OUT":
- return new VelocityAssociation(
- toEntity,
- fromEntity,
- String.format("%s - %s (%s)", to, from, shortenLabel(label)),
- multiplicity.equals("ONE2MANY") ? "MANY2ONE" : multiplicity,
- true);
- default:
- return new VelocityAssociation(
- fromEntity,
- toEntity,
- String.format("%s - %s (%s)", from, to, shortenLabel(label)),
- multiplicity,
- false);
+ Optional<VelocityEntity> fromEntity = entities.stream()
+ .filter(ent -> ent.getName().equals(from)).findFirst();
+ Optional<VelocityEntity> toEntity = entities.stream()
+ .filter(ent -> ent.getName().equals(to)).findFirst();
+ if (fromEntity.isPresent() && toEntity.isPresent()) {
+ switch (contains) {
+ case "IN":
+ return new VelocityAssociation(
+ fromEntity.get(),
+ toEntity.get(),
+ String.format("%s - %s (%s)", from, to, shortenLabel(label)),
+ multiplicity,
+ true);
+ case "OUT":
+ return new VelocityAssociation(
+ toEntity.get(),
+ fromEntity.get(),
+ String.format("%s - %s (%s)", to, from, shortenLabel(label)),
+ multiplicity.equals("ONE2MANY") ? "MANY2ONE" : multiplicity,
+ true);
+ default:
+ return new VelocityAssociation(
+ fromEntity.get(),
+ toEntity.get(),
+ String.format("%s - %s (%s)", from, to, shortenLabel(label)),
+ multiplicity,
+ false);
+ }
}
+ return null;
}
private static String shortenLabel(String label) {
diff --git a/src/main/java/org/onap/aai/graphgraph/SchemaResource.java b/src/main/java/org/onap/aai/graphgraph/SchemaResource.java
index 577e235..34f7dae 100644
--- a/src/main/java/org/onap/aai/graphgraph/SchemaResource.java
+++ b/src/main/java/org/onap/aai/graphgraph/SchemaResource.java
@@ -19,6 +19,9 @@
*/
package org.onap.aai.graphgraph;
+import java.util.Collections;
+import java.util.List;
+import javax.annotation.Resource;
import org.onap.aai.graphgraph.dto.Graph;
import org.onap.aai.graphgraph.dto.NodeName;
import org.onap.aai.graphgraph.dto.NodeProperty;
@@ -32,10 +35,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import java.util.Collections;
-import java.util.List;
-
@RestController
public class SchemaResource {
diff --git a/src/main/java/org/onap/aai/graphgraph/SchemaValidator.java b/src/main/java/org/onap/aai/graphgraph/SchemaValidator.java
index 076c31e..73484f7 100644
--- a/src/main/java/org/onap/aai/graphgraph/SchemaValidator.java
+++ b/src/main/java/org/onap/aai/graphgraph/SchemaValidator.java
@@ -70,7 +70,7 @@ public class SchemaValidator {
}
/**
- * computes edgerules which don't have the necessary connection to relationship-list in OXM
+ * computes edgerules which don't have the necessary connection to relationship-list in OXM
* @param validationProblems
*/
private void checkIfDanglingEdgerules(ValidationProblems validationProblems) {
diff --git a/src/main/java/org/onap/aai/graphgraph/reader/BasicSchemaReader.java b/src/main/java/org/onap/aai/graphgraph/reader/BasicSchemaReader.java
index 7f903f7..1a7d963 100644
--- a/src/main/java/org/onap/aai/graphgraph/reader/BasicSchemaReader.java
+++ b/src/main/java/org/onap/aai/graphgraph/reader/BasicSchemaReader.java
@@ -20,7 +20,6 @@
package org.onap.aai.graphgraph.reader;
import com.google.common.collect.Multimap;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -28,10 +27,12 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.jgrapht.Graph;
import org.jgrapht.GraphPath;
import org.jgrapht.alg.shortestpath.FloydWarshallShortestPaths;
@@ -53,8 +54,8 @@ public class BasicSchemaReader implements SchemaReader {
private Map<String, Introspector> allEntities;
private Graph<String, MetadataEdge> graph = new DefaultDirectedGraph<>(MetadataEdge.class);
private EdgeIngestor edgeIngestor;
- private String version;
- private List<String> schemaErrors = new LinkedList<>();
+ private final String version;
+ private final List<String> schemaErrors = new LinkedList<>();
public BasicSchemaReader(String version) {
this.version = version;
@@ -99,8 +100,8 @@ public class BasicSchemaReader implements SchemaReader {
//TODO fix
}
- allRules.asMap().values().stream()
- .flatMap(e -> e.stream())
+ Objects.requireNonNull(allRules).asMap().values().stream()
+ .flatMap(Collection::stream)
.forEach(e -> {
switch (e.getDirection()) {
case OUT:
@@ -158,7 +159,7 @@ public class BasicSchemaReader implements SchemaReader {
return createGraph(
isParentChildFilter(edgeFilter),
isEdgeRulesFilter(edgeFilter)).edgeSet().stream()
- .flatMap(e -> Arrays.asList(e.getSource(), e.getTarget()).stream())
+ .flatMap(e -> Stream.of(e.getSource(), e.getTarget()))
.sorted().distinct()
.map(NodeName::new)
.collect(Collectors.toList());
diff --git a/src/main/java/org/onap/aai/graphgraph/reader/MetadataEdge.java b/src/main/java/org/onap/aai/graphgraph/reader/MetadataEdge.java
index 2dea403..548d550 100644
--- a/src/main/java/org/onap/aai/graphgraph/reader/MetadataEdge.java
+++ b/src/main/java/org/onap/aai/graphgraph/reader/MetadataEdge.java
@@ -28,11 +28,8 @@ public class MetadataEdge extends DefaultEdge {
private final String source;
private final String label;
- MetadataEdge(String type, String source, String target) {
- this.source = source;
- this.target = target;
- this.type = type;
- this.label = "";
+ MetadataEdge(String type, String target, String source) {
+ this(type, source, target, "");
}
MetadataEdge(String type, String target, String source, String label) {
diff --git a/src/main/java/org/onap/aai/graphgraph/reader/SchemaReader.java b/src/main/java/org/onap/aai/graphgraph/reader/SchemaReader.java
index 38e1bf6..4150764 100644
--- a/src/main/java/org/onap/aai/graphgraph/reader/SchemaReader.java
+++ b/src/main/java/org/onap/aai/graphgraph/reader/SchemaReader.java
@@ -19,13 +19,12 @@
*/
package org.onap.aai.graphgraph.reader;
+import java.util.List;
import org.onap.aai.graphgraph.dto.Graph;
import org.onap.aai.graphgraph.dto.NodeName;
import org.onap.aai.graphgraph.dto.NodeProperty;
import org.onap.aai.graphgraph.dto.Property;
-import java.util.List;
-
public interface SchemaReader {
String getSchemaName();
diff --git a/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java b/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java
index 5764c50..8760974 100644
--- a/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java
+++ b/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java
@@ -25,7 +25,7 @@ import java.util.stream.Collectors;
public class SchemaRepository {
- private List<SchemaReader> readers;
+ private final List<SchemaReader> readers;
public SchemaRepository(List<SchemaReader> readers) {
this.readers = readers;
diff --git a/src/main/java/org/onap/aai/graphgraph/velocity/VelocityAssociation.java b/src/main/java/org/onap/aai/graphgraph/velocity/VelocityAssociation.java
index dda37b5..b7b1503 100644
--- a/src/main/java/org/onap/aai/graphgraph/velocity/VelocityAssociation.java
+++ b/src/main/java/org/onap/aai/graphgraph/velocity/VelocityAssociation.java
@@ -29,8 +29,10 @@ public class VelocityAssociation extends VelocityId {
private final String multiplicity;
private final boolean isComposition;
- public VelocityAssociation(VelocityEntity fromEntity,
- VelocityEntity toEntity, String name, String multiplicity, boolean isComposition) {
+ public VelocityAssociation(
+ VelocityEntity fromEntity, VelocityEntity toEntity,
+ String name, String multiplicity, boolean isComposition
+ ) {
this.fromEntity = fromEntity;
this.toEntity = toEntity;
this.name = name;
diff --git a/src/main/java/org/onap/aai/graphgraph/velocity/VelocityId.java b/src/main/java/org/onap/aai/graphgraph/velocity/VelocityId.java
index 9b59c82..dc67639 100644
--- a/src/main/java/org/onap/aai/graphgraph/velocity/VelocityId.java
+++ b/src/main/java/org/onap/aai/graphgraph/velocity/VelocityId.java
@@ -23,13 +23,13 @@ import java.util.UUID;
public abstract class VelocityId {
- private String id = getRandomId();
+ private final String id = getRandomId();
public String getId() {
return id;
}
- public String getRandomId() {
+ public static String getRandomId() {
return UUID.randomUUID().toString();
}
}