--- /dev/null
+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<String> procedure) {
+ }
+
+ @Override
+ public String getDocumentation(String documentationName) {
+ return null;
+ }
+
+ @Override
+ public void forAllDocumentations(TObjectProcedure<String> procedure) {
+ }
+
+ @Override
+ public void checkUpdates() {
+ }
+
+ @Override
+ public void clear() {
+ }
+}