@@ -133,12 +133,15 @@ class Directory extends Workspace {
133133 Map params = [:]
134134 if (! str. contains(" =" ) && str. endsWith(" .shp" )) {
135135 if (str. startsWith(" file:/" )) {
136- params. put(" url" , URLs . fileToUrl(URLs . urlToFile(new URL (str)). getAbsoluteFile(). getParentFile()))
136+ params. put(" type" ," shapefile" )
137+ params. put(" file" , URLs . urlToFile(new URL (str)). getAbsoluteFile(). getParentFile())
137138 } else {
138- params. put(" url" , URLs . fileToUrl(new File (str). getAbsoluteFile(). getParentFile()))
139+ params. put(" type" ," shapefile" )
140+ params. put(" file" ,new File (str). getAbsoluteFile(). getParentFile())
139141 }
140142 } else if (! str. contains(" =" ) && new File (str). isDirectory()) {
141- params. put(" url" , new File (str). toURL())
143+ params. put(" type" ," shapefile" )
144+ params. put(" file" , new File (str))
142145 } else {
143146 params = super . getParametersFromString(str)
144147 }
@@ -149,7 +152,10 @@ class Directory extends Workspace {
149152 Directory create (String type , Map params ) {
150153 if (type. equalsIgnoreCase(' shapefile' ) && params. containsKey(' file' )) {
151154 File file = params. get(' file' ) instanceof File ? params. get(' file' ) : new File (params. get(' file' ))
152- super . create([url : URLs . fileToUrl(file. absoluteFile)])
155+ if (! file. isDirectory()) {
156+ file = file. parentFile
157+ }
158+ new Directory (file)
153159 } else if (type. equalsIgnoreCase(' shapefile' ) && params. containsKey(' url' ) && params. containsKey(" dir" )) {
154160 URL url = params. get(' url' ) instanceof URL ? params. get(' url' ) : new URL (params. get(' url' ))
155161 File dir = params. get(' dir' ) instanceof File ? params. get(' dir' ) : new File (params. get(' dir' ))
@@ -159,7 +165,7 @@ class Directory extends Workspace {
159165 File file = File . createTempFile(" download" ," .zip" )
160166 GeoScript . download(url, file, overwrite : params. get(" overwrite" , true ) as boolean )
161167 GeoScript . unzip(file, dir)
162- super . create([ url : URLs . fileToUrl (dir. absoluteFile)] )
168+ new Directory (dir)
163169 } else {
164170 null
165171 }
0 commit comments