Author: abelevich
Date: 2009-01-15 11:17:15 -0500 (Thu, 15 Jan 2009)
New Revision: 12288
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/JarResourceScanner.java
Log:
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/JarResourceScanner.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/JarResourceScanner.java
(rev 0)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/JarResourceScanner.java 2009-01-15
16:17:15 UTC (rev 12288)
@@ -0,0 +1,82 @@
+package org.richfaces.cdk.rd;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileType;
+import org.codehaus.plexus.util.SelectorUtils;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class JarResourceScanner {
+
+ private FileObject baseFile;
+
+ private Set result = new HashSet();
+
+ private String [] patterns;
+
+ public String[] getPatterns() {
+ return patterns;
+ }
+
+ public void setPatterns(String[] patterns) {
+ if(patterns == null) {
+ patterns = new String[] {"**"};
+ }
+
+ if(patterns.length < 1) {
+ patterns = new String[] {"**"};
+ }
+
+ this.patterns = patterns;
+ }
+
+ public FileObject getBaseFile() {
+ return baseFile;
+ }
+
+ public void setBaseFile(FileObject baseFile) {
+ this.baseFile = baseFile;
+ }
+
+ protected boolean isAcceptable(FileObject fileObject) {
+ for (int i = 0; i < patterns.length; i++) {
+ if(SelectorUtils.matchPath(patterns[i], fileObject.getName().getPath())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ protected void walk(FileObject file) throws IOException{
+ FileObject [] children = file.getChildren();
+ for(FileObject child : children) {
+ if(child.getType() != FileType.FILE) {
+ walk(child);
+ } else {
+ if(isAcceptable(child)) {
+ result.add(child);
+ }
+ }
+ }
+ }
+
+ public void doScan() throws IOException{
+ if(baseFile != null && baseFile.exists()) {
+ walk(baseFile);
+ }
+ }
+
+ public Set getResult() {
+ return result;
+ }
+
+ public void setResult(Set result) {
+ this.result = result;
+ }
+}
Show replies by date