[richfaces-svn-commits] JBoss Rich Faces SVN: r12234 - in trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd: mojo and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Mon Jan 12 13:59:15 EST 2009


Author: abelevich
Date: 2009-01-12 13:59:14 -0500 (Mon, 12 Jan 2009)
New Revision: 12234

Added:
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentFilter.java
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentsScanner.java
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentFilter.java
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsScanner.java
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichWebSourceWalker.java
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/XhtmlFileNameFilter.java
Modified:
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java
   trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateStyleMojo.java
Log:


Added: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentFilter.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentFilter.java	                        (rev 0)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentFilter.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -0,0 +1,16 @@
+package org.richfaces.cdk.rd;
+
+public interface ComponentFilter {
+	
+	public static String A4J_NEW = "http://richfaces.org/a4j";
+	
+	public static String A4J_OD = "";
+	
+	public static String RICH_NEW = "http://richfaces.org/rich";
+	
+	public static String RICH_OLD = "";
+	
+	
+	public boolean accept(String name);
+	
+}

Added: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentsScanner.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentsScanner.java	                        (rev 0)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentsScanner.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -0,0 +1,16 @@
+package org.richfaces.cdk.rd;
+
+import java.io.File;
+import java.util.Set;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public interface ComponentsScanner {
+	
+	public void doScan(File file) throws Exception;
+	
+	public Set <String> getResult();
+	
+}

Added: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentFilter.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentFilter.java	                        (rev 0)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentFilter.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -0,0 +1,9 @@
+package org.richfaces.cdk.rd;
+
+public class RichComponentFilter implements ComponentFilter{
+
+	public boolean accept(String name) {
+		return true;
+	}
+	
+}

Added: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsScanner.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsScanner.java	                        (rev 0)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsScanner.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -0,0 +1,50 @@
+package org.richfaces.cdk.rd;
+
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.xml.parsers.SAXParser;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class RichComponentsScanner implements ComponentsScanner {
+
+	private SAXParser parser;
+	
+	private Set <String> components = new HashSet<String>();
+	
+	
+	DefaultHandler defaultHandler = new DefaultHandler () {
+		@Override
+		public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException {
+			components.add(name);
+		}
+	};
+	
+	public RichComponentsScanner(SAXParser parser) {
+		this.parser = parser;
+	}
+			
+	public Set<String> getResult() {
+		return components;
+	}
+	
+	public SAXParser getParser() {
+		return parser;
+	}
+
+	public void setParser(SAXParser parser) {
+		this.parser = parser;
+	}
+
+	public void doScan(File file) throws Exception {
+		parser.parse(file, defaultHandler);
+	}
+}

Added: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichWebSourceWalker.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichWebSourceWalker.java	                        (rev 0)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichWebSourceWalker.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -0,0 +1,52 @@
+package org.richfaces.cdk.rd;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class RichWebSourceWalker {
+	
+	
+	private FilenameFilter filter;
+	
+	private ComponentsScanner scanner;
+	
+	public RichWebSourceWalker(ComponentsScanner scanner) {
+		this(scanner, new FilenameFilter () {
+			public boolean accept(File dir, String name) {
+				return true;
+			}
+		}) ;
+	}
+	
+	public RichWebSourceWalker(ComponentsScanner scanner, FilenameFilter filter) {
+		this.filter = filter;
+		this.scanner = scanner;
+	}
+	
+	public void walk(File file) throws Exception{
+		if(file.isDirectory()) {
+			String[] children = file.list();
+	        for (String child : children) {
+	        	walk((new File(file, child)));
+	        }
+		} else {
+			if(filter.accept(file, file.getName())) {
+				System.out.println("Process File: " + file.getName());
+				scanner.doScan(file);
+			}	
+		}	
+	}
+
+	public FilenameFilter getFilter() {
+		return filter;
+	}
+
+	public void setFilter(FilenameFilter filter) {
+		this.filter = filter;
+	}
+}

Added: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/XhtmlFileNameFilter.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/XhtmlFileNameFilter.java	                        (rev 0)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/XhtmlFileNameFilter.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -0,0 +1,21 @@
+/**
+ * 
+ */
+package org.richfaces.cdk.rd;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class XhtmlFileNameFilter implements FilenameFilter {
+
+	public String XHTML_PAGE = ".xhtml";
+
+	public boolean accept(File dir, String name) {
+		return name.endsWith(XHTML_PAGE) ? true : false;	
+	}
+
+}

Modified: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java	2009-01-12 18:21:53 UTC (rev 12233)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -22,9 +22,18 @@
 package org.richfaces.cdk.rd.mojo;
 
 import java.io.File;
+import java.util.Set;
 
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.richfaces.cdk.rd.ComponentsScanner;
+import org.richfaces.cdk.rd.RichWebSourceWalker;
+import org.richfaces.cdk.rd.RichComponentsScanner;
+import org.richfaces.cdk.rd.XhtmlFileNameFilter;
 
 /**
  * @author Anton Belevich
@@ -35,6 +44,13 @@
  */
 public class CreateScriptMojo extends AbstractMojo {
 	
+    /** Top maven project.
+	 * 
+	 * @parameter expression="${project}"
+	 * @readonly
+	 */
+    protected MavenProject project;
+    
 	/**
 	 *  outputScriptDirectory 
 	 *  @parameter 
@@ -48,12 +64,35 @@
 	private String scriptPackName;
 	
 	/**
+	 * webSourceDirectory
+	 * @parameter expression="${basedir}/src/main/webapp" ;
+	 */
+	private File webSourceDirectory;
+	
+	/**
 	 * loadOrder
 	 * @parameter;
 	 */
 	private String loadOrder;
 	
 	public void execute() throws MojoExecutionException {
-		System.out.println("CreateScriptMojo.execute()");
+		try {
+			SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+	  	  	SAXParser saxParser = saxParserFactory.newSAXParser();
+	  	  	
+	  	  	ComponentsScanner scanner = new RichComponentsScanner(saxParser);
+			
+	  	  	RichWebSourceWalker walker = new RichWebSourceWalker(scanner, new XhtmlFileNameFilter());
+			walker.walk(webSourceDirectory);
+			
+			Set <String>result = scanner.getResult();
+			for(String component: result) {
+				System.out.println(component);
+			}
+			
+		} catch (Exception e) {
+			throw new MojoExecutionException(e.getMessage(),e);
+		}		
+		
 	}
 }

Modified: trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateStyleMojo.java
===================================================================
--- trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateStyleMojo.java	2009-01-12 18:21:53 UTC (rev 12233)
+++ trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateStyleMojo.java	2009-01-12 18:59:14 UTC (rev 12234)
@@ -46,6 +46,12 @@
 	private String stylePackName;
 	
 	/**
+	 * webSourceDirectory
+	 * @parameter expression="${basedir}/src/main/webapp" ;
+	 */
+	private File webSourceDirectory;
+	
+	/**
 	 * loadOrder
 	 * @parameter;
 	 */




More information about the richfaces-svn-commits mailing list