Author: abelevich
Date: 2009-01-15 11:15:42 -0500 (Thu, 15 Jan 2009)
New Revision: 12287
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/AbstractRichHandler.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/RichComponentsHandler.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ScriptsHandler.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/ResourceSelector.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/RichResourceSelector.java
Removed:
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/RichComponentsHandler.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/elements/Element.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/RichElement.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/filter/
Modified:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/PrefixMapping.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java
Log:
Deleted:
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 2009-01-15
14:52:02 UTC (rev 12286)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/ComponentsScanner.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -1,16 +0,0 @@
-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();
-
-}
Deleted:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsHandler.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsHandler.java 2009-01-15
14:52:02 UTC (rev 12286)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsHandler.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -1,63 +0,0 @@
-package org.richfaces.cdk.rd;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.richfaces.cdk.rd.elements.Element;
-import org.richfaces.cdk.rd.elements.PrefixMapping;
-import org.richfaces.cdk.rd.elements.RichElement;
-import org.richfaces.cdk.rd.filter.ComponentFilter;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * @author Anton Belevich
- *
- */
-public class RichComponentsHandler extends DefaultHandler {
-
- private ComponentFilter filter;
-
- private Set <String> components = new HashSet<String>();
-
-
- public RichComponentsHandler() {
- }
-
-
- public ComponentFilter getFilter() {
- return filter;
- }
-
- public void setFilter(ComponentFilter filter) {
- this.filter = filter;
- }
-
- @Override
- public void startElement(String uri, String localName, String name, Attributes
attributes) throws SAXException {
- Element element = new RichElement(uri, localName, name, attributes);
- if(filter.accept(element)) {
- components.add(localName);
- }
- }
-
- @Override
- public void startPrefixMapping(String prefix, String uri) throws SAXException {
- System.out.println("Process mapping: prefix: " + prefix + " uri: "
+ uri );
- if (filter != null && filter.getNamespaces().contains(uri)) {
- PrefixMapping prefixMapping = new PrefixMapping(prefix, uri);
- filter.addPrefixMapping(prefixMapping);
- }
-
- }
-
- public Set <String> getComponents() {
- return components;
- }
-
- public void setComponents(Set<String> components) {
- this.components = components;
- }
-
-}
Deleted:
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 2009-01-15
14:52:02 UTC (rev 12286)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/RichComponentsScanner.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -1,41 +0,0 @@
-package org.richfaces.cdk.rd;
-
-import java.io.File;
-import java.util.Set;
-
-import javax.xml.parsers.SAXParser;
-
-/**
- * @author Anton Belevich
- *
- */
-public class RichComponentsScanner implements ComponentsScanner {
-
- private SAXParser parser;
-
- private RichComponentsHandler handler;
-
- public RichComponentsScanner(SAXParser parser, RichComponentsHandler handler) {
- this.parser = parser;
- this.handler = handler;
- }
-
-
- public SAXParser getParser() {
- return parser;
- }
-
- public void setParser(SAXParser parser) {
- this.parser = parser;
- }
-
- public void doScan(File file) throws Exception {
-// TODO: check file, handler
- parser.parse(file, handler);
- }
-
- public Set <String> getResult() {
- return handler.getComponents();
- }
-
-}
Deleted:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/Element.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/Element.java 2009-01-15
14:52:02 UTC (rev 12286)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/Element.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -1,27 +0,0 @@
-package org.richfaces.cdk.rd.elements;
-
-import org.xml.sax.Attributes;
-
-/**
- * @author Anton Belevich
- *
- */
-public interface Element {
-
- public String getUri();
-
- public void setUri(String uri);
-
- public String getLocalName();
-
- public void setLocalName(String localName);
-
- public String getName();
-
- public void setName(String name);
-
- public Attributes getAttributes();
-
- public void setAttributes(Attributes attributes);
-
-}
Modified:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/PrefixMapping.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/PrefixMapping.java 2009-01-15
14:52:02 UTC (rev 12286)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/PrefixMapping.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -9,15 +9,18 @@
private String prefix;
private String uri;
+
public PrefixMapping() {
}
+
public PrefixMapping(String prefix , String uri) {
this.prefix = prefix;
this.uri = uri;
}
+
public String getPrefix() {
return prefix;
}
@@ -33,5 +36,4 @@
public void setUri(String uri) {
this.uri = uri;
}
-
}
Deleted:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/RichElement.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/RichElement.java 2009-01-15
14:52:02 UTC (rev 12286)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/elements/RichElement.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -1,62 +0,0 @@
-package org.richfaces.cdk.rd.elements;
-
-import org.xml.sax.Attributes;
-
-/**
- * @author Anton Belevich
- *
- */
-public class RichElement implements Element {
-
- private String uri;
-
- private String localName;
-
- private String name;
-
- private Attributes attributes;
-
-
- public RichElement(String uri, String localName, String name, Attributes attributes) {
-
- this.uri = uri;
-
- this.localName = localName;
-
- this.name = name;
-
- this.attributes = attributes;
- }
-
- public String getUri() {
- return uri;
- }
-
- public void setUri(String uri) {
- this.uri = uri;
- }
-
- public String getLocalName() {
- return localName;
- }
-
- public void setLocalName(String localName) {
- this.localName = localName;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Attributes getAttributes() {
- return attributes;
- }
-
- public void setAttributes(Attributes attributes) {
- this.attributes = attributes;
- }
-}
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/AbstractRichHandler.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/AbstractRichHandler.java
(rev 0)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/AbstractRichHandler.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -0,0 +1,27 @@
+package org.richfaces.cdk.rd.handler;
+
+import java.util.Set;
+
+import org.apache.maven.plugin.logging.Log;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+public abstract class AbstractRichHandler extends DefaultHandler {
+
+ private Log log;
+
+ @Override
+ public void fatalError(SAXParseException e) throws SAXException {
+ }
+
+ public abstract Set getResults();
+
+ public Log getLog() {
+ return log;
+ }
+
+ public void setLog(Log log) {
+ this.log = log;
+ }
+}
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/RichComponentsHandler.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/RichComponentsHandler.java
(rev 0)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/RichComponentsHandler.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -0,0 +1,73 @@
+package org.richfaces.cdk.rd.handler;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.richfaces.cdk.rd.elements.PrefixMapping;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class RichComponentsHandler extends AbstractRichHandler {
+
+ private Set components = new HashSet();
+
+ private Set <PrefixMapping> prefixList = new HashSet<PrefixMapping>();
+
+ private Set <String> userNamespaces = new HashSet<String>();
+
+ public static String RICH_DEFAULT = "http://richfaces.org/rich";
+
+ public static String A4J_DEFAULT = "http://richfaces.org/a4j";
+
+
+
+ @Override
+ public void startElement(String uri, String localName, String name, Attributes
attributes) throws SAXException {
+ for (PrefixMapping prefix: prefixList) {
+
+ String prefixUri = prefix.getUri();
+ String qname = prefix.getPrefix();
+
+ if(uri.equals(prefixUri) && name.startsWith(qname)) {
+ components.add(localName);
+ }
+ }
+ }
+
+ @Override
+ public void startPrefixMapping(String prefix, String uri) throws SAXException {
+ getLog().info("Process mapping: prefix: " + prefix + " uri: " +
uri );
+
+ if (userNamespaces != null && userNamespaces.contains(uri)) {
+ PrefixMapping prefixMapping = new PrefixMapping(prefix, uri);
+ addPrefixMapping(prefixMapping);
+ }
+
+ }
+
+ public Set getResults() {
+ return components;
+ }
+
+ public void addNamespaces(Collection <String>namespaces) {
+ this.userNamespaces.addAll(namespaces);
+ }
+
+ public Collection <String> getNamespaces() {
+ if(userNamespaces.isEmpty() || !(userNamespaces.contains(RICH_DEFAULT) &&
userNamespaces.contains(A4J_DEFAULT))) {
+ userNamespaces.add(RICH_DEFAULT);
+ userNamespaces.add(A4J_DEFAULT);
+ }
+ return this.userNamespaces;
+ }
+
+ public void addPrefixMapping(PrefixMapping prefixMapping) {
+ prefixList.add(prefixMapping);
+ }
+
+}
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ScriptsHandler.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ScriptsHandler.java
(rev 0)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ScriptsHandler.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -0,0 +1,54 @@
+package org.richfaces.cdk.rd.handler;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+public class ScriptsHandler extends AbstractRichHandler {
+
+ private Set result = new HashSet();
+
+ private Set lookUpResources;
+
+ private boolean collect = false;
+
+ private String temp;
+
+
+ @Override
+ public Set getResults() {
+ return result;
+ }
+
+ public ScriptsHandler(Set lookUpResources) {
+ this.lookUpResources = lookUpResources;
+ }
+
+ @Override
+ public void startElement(String uri, String localName, String name, Attributes
attributes) throws SAXException {
+ }
+
+ @Override
+ public void characters(char[] ch, int start, int length) throws SAXException {
+ temp = new String(ch,start,length);
+ }
+
+ @Override
+ public void endElement(String uri, String localName, String name) throws SAXException {
+
+ if(name.equalsIgnoreCase("name")) {
+ if(lookUpResources.contains(temp)) {
+ collect = true;
+ } else {
+ collect = false;
+ }
+ }
+
+ if(name.equalsIgnoreCase("script") && collect) {
+ result.add(temp);
+ }
+ }
+
+}
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-15
14:52:02 UTC (rev 12286)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -22,21 +22,39 @@
package org.richfaces.cdk.rd.mojo;
import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileSystemManager;
+import org.apache.commons.vfs.VFS;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Model;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
import org.codehaus.plexus.util.DirectoryScanner;
-import org.richfaces.cdk.rd.ComponentsScanner;
-import org.richfaces.cdk.rd.RichComponentsHandler;
-import org.richfaces.cdk.rd.RichComponentsScanner;
-import org.richfaces.cdk.rd.filter.ComponentFilter;
-import org.richfaces.cdk.rd.filter.RichComponentFilter;
+import org.richfaces.cdk.rd.JarResourceScanner;
+import org.richfaces.cdk.rd.handler.AbstractRichHandler;
+import org.richfaces.cdk.rd.handler.RichComponentsHandler;
+import org.richfaces.cdk.rd.handler.ScriptsHandler;
+import org.richfaces.cdk.rd.selector.ResourceSelector;
+import org.richfaces.cdk.rd.selector.RichResourceSelector;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotSupportedException;
/**
* @author Anton Belevich
@@ -54,7 +72,35 @@
*/
protected MavenProject project;
+ /**
+ *
+ * @component
+ */
+ protected MavenProjectBuilder builder;
+
+
+ /**
+ * Used to look up Artifacts in the remote repository.
+ *
+ * @component
+ */
+ private org.apache.maven.artifact.factory.ArtifactFactory factory;
+
/**
+ * Used to look up Artifacts in the remote repository.
+ *
+ * @component
+ */
+ private org.apache.maven.artifact.resolver.ArtifactResolver resolver;
+
+ /**
+ * The local repository.
+ *
+ * @parameter expression="${localRepository}"
+ */
+ private ArtifactRepository localRepository;
+
+ /**
* outputScriptDirectory
* @parameter
*/
@@ -87,54 +133,162 @@
public void execute() throws MojoExecutionException {
try {
- Set <String> result = findComponents(webSourceDirectory);
- for (String component: result) {
- System.out.println("find: " + component);
+
+ Set <String> components = findComponents(webSourceDirectory);
+ Artifact richfaces = getUIArifact(project);
+ FileObject jarRichfaces = resolveArtifact(richfaces);
+ FileObject [] richConfigs = resolveConfigsFromJar(jarRichfaces);
+ Set result = selectScriptResources(richConfigs,components);
+
+ for (Iterator iterator = result.iterator(); iterator.hasNext();) {
+ getLog().info("collect: " + iterator.next());
}
- mergeScripts(result);
-
} catch (Exception e) {
throw new MojoExecutionException(e.getMessage(),e);
}
}
- public Set <String> findComponents (File webSourceDir) throws Exception{
+ public Set findComponents (File webSourceDir) {
+ ResourceSelector richSelector = null;
+
DirectoryScanner scanner = new DirectoryScanner();
scanner.setBasedir(webSourceDir);
scanner.setIncludes(new String []{"**/*.xhtml"});
scanner.addDefaultExcludes();
scanner.scan();
-
String [] collectedFiles = scanner.getIncludedFiles();
+
+ try {
+ SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+ saxParserFactory.setNamespaceAware(true);
+ SAXParser saxParser = saxParserFactory.newSAXParser();
+
saxParser.setProperty("http://apache.org/xml/features/continue-after...;,
true);
+
+ RichComponentsHandler handler = new RichComponentsHandler();
+ handler.setLog(getLog());
+ handler.addNamespaces(namespaces);
+
+ richSelector = new RichResourceSelector(saxParser,handler);
+ for(String processFile : collectedFiles) {
+ File file = new File(webSourceDir,processFile);
+ if(file.exists()) {
+ getLog().info("process file: " + file.getName());
+ richSelector.select(file);
+ }
+ }
+
+ } catch (SAXNotSupportedException e) {
+ getLog().error(e);
+ } catch (SAXException e) {
+ getLog().error(e);
+ } catch (ParserConfigurationException e) {
+ getLog().error(e);
+ } catch (IOException e) {
+ getLog().error(e);
+ }
+
+ Set result = null;
+ if (richSelector != null) {
+ result = richSelector.getResult();
+ }
+
+ return result;
+ }
+
+
+ public Set selectScriptResources (FileObject[] richConfigs, Set components) {
+ Set result = null;
+
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
- saxParserFactory.setNamespaceAware(true);
- SAXParser saxParser = saxParserFactory.newSAXParser();
-
- ComponentFilter filter = new RichComponentFilter();
- filter.addNamespaces(namespaces);
-
- RichComponentsHandler handler = new RichComponentsHandler();
- handler.setFilter(filter);
-
- ComponentsScanner richScanner = new RichComponentsScanner(saxParser,handler);
+ try {
+ SAXParser saxParser = saxParserFactory.newSAXParser();
+ AbstractRichHandler handler = new ScriptsHandler(components);
+ handler.setLog(getLog());
+ RichResourceSelector selector = new RichResourceSelector(saxParser,handler);
+
+ for (FileObject dependency: richConfigs) {
+ selector.select(dependency.getContent().getInputStream());
+ }
+
+ result = selector.getResult();
- for(String processFile : collectedFiles) {
- File file = new File(webSourceDir,processFile);
- if(file.exists()) {
- getLog().info("process file: " + file.getName());
- richScanner.doScan(file);
- }
+ }catch(SAXException e) {
+ getLog().error(e);
+ }catch(ParserConfigurationException e) {
+ getLog().error(e);
+ }catch (IOException e) {
+ getLog().error(e);
}
-
- return richScanner.getResult();
+
+ return result;
+ }
+
+ protected Artifact getUIArifact (MavenProject project) {
+ Model model = project.getModel();
+ List <Dependency> dependencyList = model.getDependencies();
+
+ Artifact artifact = null;
+
+ for(Dependency dependency : dependencyList) {
+ if(dependency.getArtifactId().equals("richfaces-ui") &&
dependency.getVersion().equals(model.getVersion()) &&
dependency.getType().equals("jar")) {
+ String groupId = dependency.getGroupId();
+ String artifactId = dependency.getArtifactId();
+ String version = dependency.getVersion();
+ String scope = dependency.getScope();
+ String type = dependency.getType();
+ artifact = factory.createArtifact(groupId, artifactId, version, scope, type);
+ break;
+ }
+ }
+
+ return artifact;
}
+
+ protected FileObject resolveArtifact(Artifact artifact) {
+ FileObject jarFileObject = null;
- public void mergeScripts(Set <String> components) throws Exception{
+ if(artifact != null) {
+ try {
+ resolver.resolve(artifact, Collections.EMPTY_LIST, localRepository);
+ getLog().info("artifact " + artifact.getFile().getAbsolutePath() + "
is resolved");
+ } catch (ArtifactResolutionException e) {
+ getLog().error("Error with resolve artifact " + artifact, e);
+ } catch (ArtifactNotFoundException e) {
+ getLog().error("Not found artifact " + artifact, e);
+ }
+
+ File file = artifact.getFile();
+ try {
+ FileSystemManager manager = VFS.getManager();
+ jarFileObject = manager.resolveFile("jar://" + file.getAbsolutePath());
+ } catch (IOException e) {
+ getLog().error(e);
+ }
+ }
+ return jarFileObject;
+ }
+
+ public FileObject [] resolveConfigsFromJar(FileObject jarFileObject) throws
MojoExecutionException{
+ FileObject [] result = new FileObject[0];
+ try {
+ JarResourceScanner jarScanner = new JarResourceScanner();
+ jarScanner.setBaseFile(jarFileObject);
+ jarScanner.setPatterns(new String[]{ "**/*.component-dependencies.xml"});
+ jarScanner.doScan();
+ result = (FileObject [])jarScanner.getResult().toArray(new
FileObject[jarScanner.getResult().size()]);
+
+ } catch (IOException e) {
+ getLog().error(e);
+ }
+ return result;
}
+
+ public void mergeScripts(Set <String> components) throws Exception{
+ }
}
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/ResourceSelector.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/ResourceSelector.java
(rev 0)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/ResourceSelector.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -0,0 +1,25 @@
+package org.richfaces.cdk.rd.selector;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Set;
+
+import javax.xml.parsers.SAXParser;
+
+import org.xml.sax.SAXException;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public interface ResourceSelector {
+
+ public void select(File file) throws IOException, SAXException;
+
+ public void select(InputStream fileInputStream) throws IOException, SAXException;
+
+ public Set getResult();
+
+ public void setParser(SAXParser parser);
+}
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/RichResourceSelector.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/RichResourceSelector.java
(rev 0)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/selector/RichResourceSelector.java 2009-01-15
16:15:42 UTC (rev 12287)
@@ -0,0 +1,50 @@
+package org.richfaces.cdk.rd.selector;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Set;
+
+import javax.xml.parsers.SAXParser;
+
+import org.richfaces.cdk.rd.handler.AbstractRichHandler;
+import org.xml.sax.SAXException;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class RichResourceSelector implements ResourceSelector {
+
+ private SAXParser parser;
+
+ private AbstractRichHandler handler;
+
+ public RichResourceSelector(SAXParser parser, AbstractRichHandler handler) {
+ this.parser = parser;
+ this.handler = handler;
+ }
+
+
+ public SAXParser getParser() {
+ return parser;
+ }
+
+ public void setParser(SAXParser parser) {
+ this.parser = parser;
+ }
+
+ public void select(File file) throws IOException, SAXException {
+ parser.parse(file, handler);
+ }
+
+ public void select(InputStream fileInputStream) throws IOException, SAXException {
+ parser.parse(fileInputStream, handler);
+ }
+
+
+ public Set getResult() {
+ return handler.getResults();
+ }
+
+}