Added support for parsing submodules & added dependency utility parser
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / repo / FilesystemSchemaCachingProvider.java
index 0fdf05a227dd96f9a354f17bb29788218ac62b9c..7794f1d2e387e1fce85bf779c292c19a9c06d3c7 100644 (file)
@@ -26,8 +26,8 @@ public class FilesystemSchemaCachingProvider<I> extends AbstractCachingSchemaSou
     }
 
     @Override
-    protected synchronized Optional<InputStream> cacheSchemaSource(String moduleName, Optional<String> revision, Optional<I> source) {
-        File schemaFile = toFile(moduleName, revision);
+    protected synchronized Optional<InputStream> cacheSchemaSource(SourceIdentifier identifier, Optional<I> source) {
+        File schemaFile = toFile(identifier);
         try {
             if(source.isPresent() && schemaFile.createNewFile()) {
                 try (
@@ -59,8 +59,8 @@ public class FilesystemSchemaCachingProvider<I> extends AbstractCachingSchemaSou
     }
 
     @Override
-    protected Optional<InputStream> getCachedSchemaSource(String moduleName, Optional<String> revision) {
-        File inputFile = toFile(moduleName, revision);
+    protected Optional<InputStream> getCachedSchemaSource(SourceIdentifier identifier) {
+        File inputFile = toFile(identifier);
         try {
             if (inputFile.exists() && inputFile.canRead()) {
                 InputStream stream = new FileInputStream(inputFile);
@@ -72,19 +72,11 @@ public class FilesystemSchemaCachingProvider<I> extends AbstractCachingSchemaSou
         return Optional.absent();
     }
 
-    private File toFile(String moduleName, Optional<String> revision) {
-        return new File(storageDirectory, toYangFileName(moduleName, revision));
+    private File toFile(SourceIdentifier identifier) {
+        return new File(storageDirectory, identifier.toYangFilename());
     }
 
-    public static final String toYangFileName(String moduleName, Optional<String> revision) {
-        StringBuilder filename = new StringBuilder(moduleName);
-        if (revision.isPresent()) {
-            filename.append("@");
-            filename.append(revision.get());
-        }
-        filename.append(".yang");
-        return filename.toString();
-    }
+
 
     private static final Function<String, String> NOOP_TRANSFORMATION = new Function<String, String>() {
         @Override