Skip to content

Commit

Permalink
[FIX] #2
Browse files Browse the repository at this point in the history
  • Loading branch information
apb2006 committed Aug 24, 2021
1 parent d675c76 commit e08bbb4
Show file tree
Hide file tree
Showing 14 changed files with 225 additions and 191 deletions.
10 changes: 6 additions & 4 deletions .classpath
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/BaseX.96.jar"/>
<classpathentry kind="output" path="build"/>
<classpathentry kind="src" path="src/java" />
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER" />
<classpathentry kind="lib" path="lib/BaseX.96.jar"
sourcepath="/basex-core" />
<classpathentry kind="output" path="build" />
</classpath>
2 changes: 1 addition & 1 deletion dist/doc/file-walker.xqm.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<xqdoc:xqdoc xmlns:xqdoc="http://www.xqdoc.org/1.0">
<xqdoc:control>
<xqdoc:date>2021-08-22T19:33:11.698+01:00</xqdoc:date>
<xqdoc:date>2021-08-24T22:52:31.271+01:00</xqdoc:date>
<xqdoc:version>1.1</xqdoc:version>
</xqdoc:control>
<xqdoc:module type="library">
Expand Down
Binary file removed dist/quodatum-files-0.7.0.xar
Binary file not shown.
Binary file added dist/quodatum-files-0.8.6.xar
Binary file not shown.
2 changes: 1 addition & 1 deletion makjar.jardesc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="WINDOWS-1252" standalone="no"?>
<jardesc>
<jar path="file-walker/src/main/content/quodatum-files-0.7.0.jar"/>
<jar path="file-walker/src/main/content/quodatum-files-0.8.6.jar"/>
<options buildIfNeeded="true" compress="true" descriptionLocation="/file-walker/makjar.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="true" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
<storedRefactorings deprecationInfo="true" structuralOnly="false"/>
<selectedProjects/>
Expand Down
276 changes: 147 additions & 129 deletions package.xml
Original file line number Diff line number Diff line change
@@ -1,134 +1,152 @@
<!-- @see http://cxan.org/faq#add-pkg -->
<repo abbrev="quodatum-files">
<pkg abbrev="quodatum-files" id="https://github.com/Quodatum/file-walker">
<name>https://github.com/Quodatum/file-walker</name>
<abstract>File list and search in the XProc style</abstract>
<author id="abunce">Andy Bunce</author>
<maintainer id="abunce">Andy Bunce</maintainer>
<category id="libs">Libraries</category>
<home>https://github.com/Quodatum/file-walker</home>
<tag>file</tag>
<tag>xproc</tag>
<tag>list</tag>
<version num="0.0.1">
<dependency processor="basex"/>
<file name="file-walker-0.0.1.xar" role="pkg"/>
</version>
<version num="0.1.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.4">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.8">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.9">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.4">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.8">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.8">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.9">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.4">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.5.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.5.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.5.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.6.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.7.0">
<pkg abbrev="quodatum-files" id="https://github.com/Quodatum/file-walker">
<name>https://github.com/Quodatum/file-walker</name>
<abstract>File list and search in the XProc style</abstract>
<author id="abunce">Andy Bunce</author>
<maintainer id="abunce">Andy Bunce</maintainer>
<category id="libs">Libraries</category>
<home>https://github.com/Quodatum/file-walker</home>
<tag>file</tag>
<tag>xproc</tag>
<tag>list</tag>
<version num="0.0.1">
<dependency processor="basex"/>
<file name="file-walker-0.0.1.xar" role="pkg"/>
</version>
<version num="0.1.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.4">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.8">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.1.9">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.4">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.2.8">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.8">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.3.9">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.4">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.5">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.4.7">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.5.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.5.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.5.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.6.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.7.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.8.0">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.8.1">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.8.2">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.8.3">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.8.4">
<!-- generated: {fn:current-dateTime()} -->
</version>
<version num="0.8.6">
<!-- generated: {fn:current-dateTime()} -->
</version>
</pkg>
Expand Down
63 changes: 35 additions & 28 deletions src/java/com/quodatum/file/Runner.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,42 +17,49 @@
import org.basex.query.QueryModule;
import org.basex.query.value.Value;
import org.basex.query.value.map.XQMap;
import org.basex.server.Log.LogType;
import org.basex.util.options.BooleanOption;
import org.basex.util.options.NumberOption;
import org.basex.util.options.Options;
import org.basex.util.options.StringOption;

public class Runner extends QueryModule {
// @TODO use this
public static class RunnerOptions extends Options {
/** Max depth of directories to scan. */
public static final NumberOption MAX_DEPTH = new NumberOption("max-depth", Integer.MAX_VALUE);
public static final NumberOption MAX_FILES = new NumberOption("max-files", Integer.MAX_VALUE);
/** add attrs eg size. */
public static final BooleanOption INCLUDE_INFO = new BooleanOption("include-info", false);
public static final BooleanOption FOLLOW_LINKS = new BooleanOption("follow-links", false);
/** Query base-uri. */
public static final StringOption INCLUDE_FILTER = new StringOption("include-filter");
public static final StringOption EXCLUDE_FILTER = new StringOption("exclude-filter");
public static final StringOption SKIP_FILTER = new StringOption("skip-filter");
}

public Value filewalk(final String path, final XQMap options) throws IOException, QueryException {
// FnTrace.trace("BY".getBytes(), "TEST".getBytes(), queryContext);
Path startingDir = Paths.get(path).normalize();
// @TODO use this
public static class RunnerOptions extends Options {
/** Max depth of directories to scan. */
public static final NumberOption MAX_DEPTH = new NumberOption("max-depth", Integer.MAX_VALUE);
public static final NumberOption MAX_FILES = new NumberOption("max-files", Integer.MAX_VALUE);
/** add attrs eg size. */
public static final BooleanOption INCLUDE_INFO = new BooleanOption("include-info", false);
public static final BooleanOption FOLLOW_LINKS = new BooleanOption("follow-links", false);
/** Query base-uri. */
public static final StringOption INCLUDE_FILTER = new StringOption("include-filter");
public static final StringOption EXCLUDE_FILTER = new StringOption("exclude-filter");
public static final StringOption SKIP_FILTER = new StringOption("skip-filter");
}

boolean followLinks = SimpleOptions.mapOption(options, "follow-links", false);
EnumSet<FileVisitOption> walkopts = followLinks ? EnumSet.of(FileVisitOption.FOLLOW_LINKS)
: EnumSet.noneOf(FileVisitOption.class);
public Value filewalk(final String path, final XQMap options) throws IOException, QueryException {
// FnTrace.trace("BY".getBytes(), "TEST".getBytes(), queryContext);
log("filewalk");
Path startingDir = Paths.get(path).normalize();

int maxDepth = SimpleOptions.mapOption(options, "max-depth", Integer.MAX_VALUE);
if (-1 == maxDepth)
maxDepth = Integer.MAX_VALUE;
boolean followLinks = SimpleOptions.mapOption(options, "follow-links", false);
EnumSet<FileVisitOption> walkopts = followLinks ? EnumSet.of(FileVisitOption.FOLLOW_LINKS)
: EnumSet.noneOf(FileVisitOption.class);

// String s=options.dbl(ii)
Walker walk = new Walker(options, queryContext);
Files.walkFileTree(startingDir, walkopts, maxDepth, walk);
return walk.result();
}
int maxDepth = SimpleOptions.mapOption(options, "max-depth", Integer.MAX_VALUE);
if (-1 == maxDepth)
maxDepth = Integer.MAX_VALUE;
log("create walk");
// String s=options.dbl(ii)
Walker walk = new Walker(options, queryContext);
log("walk tree");
Files.walkFileTree(startingDir, walkopts, maxDepth, walk);
return walk.result();
}

private void log(final String msg) {
// queryContext.context.log.write(LogType.INFO, msg, null,
// queryContext.context);
}
}
Loading

0 comments on commit e08bbb4

Please sign in to comment.