aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java')
-rw-r--r--src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java b/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java
new file mode 100644
index 0000000..c7fdd33
--- /dev/null
+++ b/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java
@@ -0,0 +1,25 @@
+package org.onap.aai.graphgraph.reader;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+public class SchemaRepository {
+ private List<SchemaReader> readers;
+
+ public SchemaRepository(List<SchemaReader> readers) {
+ this.readers = readers;
+ }
+
+ public List<String> getAllSchemaNames(){
+ return readers.stream().map(SchemaReader::getSchemaName).collect(Collectors.toList());
+ }
+
+ public SchemaReader getSchemaReader(String schemaName){
+ Optional<SchemaReader> reader = readers.stream().filter(r -> schemaName.equals(r.getSchemaName())).findFirst();
+ if(!reader.isPresent())
+ throw new IllegalArgumentException("Schema " + schemaName + " not found");
+
+ return reader.get();
+ }
+}