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;
*/
Show replies by date