@@ -35,13 +35,17 @@ import com.github.mgramin.sqlboot.model.resourcetype.wrappers.header.SelectWrapp
3535import com.github.mgramin.sqlboot.model.resourcetype.wrappers.list.SortWrapper
3636import com.github.mgramin.sqlboot.model.uri.Uri
3737import com.github.mgramin.sqlboot.template.generator.impl.GroovyTemplateGenerator
38+ import reactor.core.publisher.Flux
3839import java.io.File
3940import java.nio.charset.StandardCharsets.UTF_8
4041
4142/* *
4243 * Created by MGramin on 11.07.2017.
4344 */
44- class FsResourceTypes (private val dbConnections : List <SimpleDbConnection >, uri : Uri ) : ResourceType {
45+ class FsResourceTypes (
46+ private val dbConnections : List <SimpleDbConnection >,
47+ private val uri : Uri
48+ ) : ResourceType {
4549
4650 private val resourceTypes: List <ResourceType > = walk(dbConnections.first().baseFolder!! .file.path, uri, dbConnections.first())
4751
@@ -61,13 +65,13 @@ class FsResourceTypes(private val dbConnections: List<SimpleDbConnection>, uri:
6165// CacheWrapper(
6266 SelectWrapper (
6367// PageWrapper(
64- SortWrapper (
65- BodyWrapper (
66- SqlResourceType (
67- aliases = listOf (dir.name),
68- sql = sql,
69- connections = dbConnections),
70- templateGenerator = GroovyTemplateGenerator (" [EMPTY BODY]" ))))
68+ SortWrapper (
69+ BodyWrapper (
70+ SqlResourceType (
71+ aliases = listOf (dir.name),
72+ sql = sql,
73+ connections = dbConnections),
74+ templateGenerator = GroovyTemplateGenerator (" [EMPTY BODY]" ))))
7175// )
7276 result.add(resourceType)
7377 }
@@ -88,14 +92,18 @@ class FsResourceTypes(private val dbConnections: List<SimpleDbConnection>, uri:
8892 throw BootException (" Not implemented!" )
8993 }
9094
91- override fun read (uri : Uri ): Sequence <DbResource > {
92- val resourceType : ResourceType = resourceTypes
95+ override fun read (uri : Uri ): Flux <DbResource > {
96+ return resourceTypes
9397 .asSequence()
9498 .first { v -> v.name().equals(uri.type(), ignoreCase = true ) }
95- return resourceType .read(uri)
99+ .read(uri)
96100 }
97101
98102 override fun metaData (): Map <String , String > {
99- throw BootException (" Not implemented!" )
103+ return resourceTypes
104+ .asSequence()
105+ .first { v -> v.name().equals(uri.type(), ignoreCase = true ) }
106+ .metaData()
100107 }
108+
101109}
0 commit comments