X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.osgi%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fosgi%2Finternal%2FFileSystemModuleSourceRepository.java;fp=bundles%2Forg.simantics.scl.osgi%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fosgi%2Finternal%2FFileSystemModuleSourceRepository.java;h=0e26c1d273acc71cbe385f7a90dea810cf4ddbde;hp=0000000000000000000000000000000000000000;hb=969bd23cab98a79ca9101af33334000879fb60c5;hpb=866dba5cd5a3929bbeae85991796acb212338a08 diff --git a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/FileSystemModuleSourceRepository.java b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/FileSystemModuleSourceRepository.java new file mode 100644 index 000000000..0e26c1d27 --- /dev/null +++ b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/FileSystemModuleSourceRepository.java @@ -0,0 +1,45 @@ +package org.simantics.scl.osgi.internal; + +import java.io.File; + +import org.osgi.service.component.annotations.Component; +import org.simantics.scl.compiler.module.repository.UpdateListener; +import org.simantics.scl.compiler.source.FileModuleSource; +import org.simantics.scl.compiler.source.ModuleSource; +import org.simantics.scl.compiler.source.TextualModuleSource; +import org.simantics.scl.compiler.source.repository.ModuleSourceRepository; + +import gnu.trove.procedure.TObjectProcedure; + +@Component +public class FileSystemModuleSourceRepository implements ModuleSourceRepository { + @Override + synchronized public ModuleSource getModuleSource(String moduleName, + UpdateListener listener) { + if(!moduleName.startsWith("file:")) + return null; + return new FileModuleSource(moduleName, getClass().getClassLoader(), + new File(moduleName.substring(5)), TextualModuleSource.DEFAULT_IMPORTS); + } + + @Override + synchronized public void forAllModules(TObjectProcedure procedure) { + } + + @Override + public String getDocumentation(String documentationName) { + return null; + } + + @Override + public void forAllDocumentations(TObjectProcedure procedure) { + } + + @Override + public void checkUpdates() { + } + + @Override + public void clear() { + } +}