Author: abelevich
Date: 2009-01-19 07:03:29 -0500 (Mon, 19 Jan 2009)
New Revision: 12333
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/utils/
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/utils/PluginUtils.java
Modified:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Component.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Components.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ComponentsHandler.java
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java
Log:
mova some methods to utils
Modified:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Component.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Component.java 2009-01-19
11:22:30 UTC (rev 12332)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Component.java 2009-01-19
12:03:29 UTC (rev 12333)
@@ -3,6 +3,10 @@
import java.util.ArrayList;
import java.util.List;
+/**
+ * @author Anton Belevich
+ *
+ */
public class Component {
private String componentName;
Modified:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Components.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Components.java 2009-01-19
11:22:30 UTC (rev 12332)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/Components.java 2009-01-19
12:03:29 UTC (rev 12333)
@@ -3,6 +3,10 @@
import java.util.ArrayList;
import java.util.List;
+/**
+ * @author Anton Belevich
+ *
+ */
public class Components {
private String namespace;
Modified:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ComponentsHandler.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ComponentsHandler.java 2009-01-19
11:22:30 UTC (rev 12332)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/handler/ComponentsHandler.java 2009-01-19
12:03:29 UTC (rev 12333)
@@ -1,11 +1,8 @@
package org.richfaces.cdk.rd.handler;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
-import org.apache.maven.plugin.logging.Log;
import org.richfaces.cdk.rd.Component;
import org.richfaces.cdk.rd.Components;
import org.xml.sax.SAXException;
@@ -17,8 +14,6 @@
*/
public class ComponentsHandler extends DefaultHandler{
- private Log log;
-
private List <Components> components;
private String tempString;
@@ -52,9 +47,6 @@
private void collectStyles(Component component) {
for(String style : component.getStyles()) {
if(!this.styles.contains(style)) {
- if (getLog() != null) {
- getLog().info("collect styles from: " + component.getComponentName() +
" component");
- }
this.styles.add(style);
}
}
@@ -63,9 +55,6 @@
private void collectScripts(Component component) {
for(String script : component.getScripts()) {
if(!this.scripts.contains(script)) {
- if (getLog() != null) {
- getLog().info("collect script from: " + component.getComponentName() +
" component");
- }
this.scripts.add(script);
}
}
@@ -86,13 +75,4 @@
public void setComponents(List<Components> components) {
this.components = components;
}
-
- public Log getLog() {
- return log;
- }
-
- public void setLog(Log log) {
- this.log = log;
- }
-
}
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-19
11:22:30 UTC (rev 12332)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/mojo/CreateScriptMojo.java 2009-01-19
12:03:29 UTC (rev 12333)
@@ -60,7 +60,10 @@
import org.richfaces.cdk.rd.Components;
import org.richfaces.cdk.rd.JarResourceScanner;
import org.richfaces.cdk.rd.handler.ComponentsHandler;
+import org.richfaces.cdk.rd.utils.PluginUtils;
+import com.sun.swing.internal.plaf.metal.resources.metal;
+
/**
* @author Anton Belevich
*
@@ -143,6 +146,7 @@
private ArtifactMetadataSource metadataSource;
+
public void execute() throws MojoExecutionException {
try {
@@ -150,19 +154,19 @@
Artifact richfacesImpl = createDependencyArtifact("richfaces-impl",
project.getVersion(), "jar");
List <FileObject> richfaces = new ArrayList<FileObject>();
-
FileObject jarRichfacesUI = resolveArtifact(richfacesUI);
richfaces.add(jarRichfacesUI);
FileObject jarRichfacesImpl = resolveArtifact(richfacesImpl);
richfaces.add(jarRichfacesImpl);
- FileObject [] configs = resolveConfigsFromJar(jarRichfacesUI);
- List <Components> components = processConfigs(configs, new ArrayList
<Components>());
- ComponentsHandler handler = findComponents(webSourceDirectory, components);
-
+ FileObject [] configs = PluginUtils.resolveConfigsFromJar(jarRichfacesUI,
PluginUtils.DEFAULT_CONFIG_PATTERNS);
+ Digester defaultDigester = getDigester();
+ List <Components> components = PluginUtils.processConfigs(configs,
defaultDigester);
+
+ ComponentsHandler handler = findComponents(webSourceDirectory, components,
PluginUtils.DEFAULT_PROCESS_INCLUDES, new String[0]);
List result = handler.getScripts();
- mergeScripts(result, richfaces, outputScriptDirectory);
+ mergeScripts(result, richfaces, outputScriptDirectory);
for (Iterator iterator = result.iterator(); iterator.hasNext();) {
getLog().info("collect: " + iterator.next());
}
@@ -173,49 +177,21 @@
}
- public List <Components> processConfigs(FileObject [] configs, List collector) {
-
- for (FileObject config: configs) {
-
- Digester digester = new Digester();
- digester.addObjectCreate("components", Components.class);
- digester.addCallMethod("components/namespace", "setNamespace",
0);
- digester.addObjectCreate("components/component", Component.class);
- digester.addCallMethod("components/component/name",
"setComponentName",0);
- digester.addCallMethod("components/component/scripts/script",
"addScript",0);
- digester.addCallMethod("components/component/styles/styles",
"addStyle",0);
- digester.addSetNext("components/component", "addComponent");
- InputStream configInputStream = null;
+ public Digester getDigester() {
+ return PluginUtils.createDefaultDigester();
+ }
- try {
- configInputStream = config.getContent().getInputStream();
- collector.add(digester.parse(configInputStream));
+ public ComponentsHandler findComponents (File webSourceDir, List <Components>
components, String [] includes, String [] excludes) {
- } catch (Exception e) {
- getLog().error(e);
- } finally {
- try {
- configInputStream.close();
- } catch (IOException e) {
- getLog().error(e);
- }
- }
-
- }
- return collector;
- }
-
- public ComponentsHandler findComponents (File webSourceDir, List <Components>
components) {
-
DirectoryScanner scanner = new DirectoryScanner();
scanner.setBasedir(webSourceDir);
- scanner.setIncludes(new String []{"**/*.xhtml"});
+ scanner.setIncludes(includes);
+ scanner.setExcludes(excludes);
scanner.addDefaultExcludes();
scanner.scan();
String [] collectedFiles = scanner.getIncludedFiles();
ComponentsHandler handler = new ComponentsHandler();
- handler.setLog(getLog());
handler.setComponents(components);
try {
@@ -301,63 +277,28 @@
return jarFileObject;
}
- public FileObject [] resolveConfigsFromJar(FileObject jarFileObject) {
- 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 mergeFiles(File dest, List <FileObject> jarFileObjects, String
scriptPath) throws Exception{
-
- for(FileObject sourceFileObjects : jarFileObjects){
-
- FileOutputStream out = new FileOutputStream(dest, true);
- try {
- FileObject scriptFileObject = sourceFileObjects.resolveFile(scriptPath);
- if(scriptFileObject.exists()) {
- InputStream in = scriptFileObject.getContent().getInputStream();
- try {
- IOUtil.copy(in, out);
- if (true) {
- out.write('\n');
- }
- } finally {
- IOUtil.close(in);
- in = null;
- }
- }
- } finally {
- IOUtil.close(out);
- out = null;
- }
- }
- }
-
protected void mergeScripts(List <String> scripts, List <FileObject>
jarFileObjects, File outputScriptDirectory) {
File assemblyScriptFile = new File(outputScriptDirectory, scriptPackName +
".js");
- if(!assemblyScriptFile.exists()) {
- try {
- assemblyScriptFile.createNewFile();
- } catch (IOException e) {
- getLog().error("Error create file: " +
assemblyScriptFile.getAbsolutePath(), e);
+
+ try {
+ if(assemblyScriptFile.exists()) {
+ assemblyScriptFile.delete();
}
+ getLog().info("Create assembly file: " +
assemblyScriptFile.getAbsolutePath());
+ assemblyScriptFile.createNewFile();
+
+ } catch (IOException e) {
+ getLog().error("Error create file: " + assemblyScriptFile.getAbsolutePath(),
e);
}
+
for(String script: scripts) {
try {
if(script.endsWith(".js")) {
- mergeFiles(assemblyScriptFile, jarFileObjects, script);
+ getLog().info("merge file: " + script + " in to " +
assemblyScriptFile.getAbsolutePath());
+ PluginUtils.mergeFiles(assemblyScriptFile, jarFileObjects, script);
} else {
Set <Artifact> artifacts = createProjectDependenciesArtifacts();
@@ -388,8 +329,9 @@
// restore old ContextClassLoader
Thread.currentThread().setContextClassLoader(oldClassLoader);
-
- mergeFiles(assemblyScriptFile, jarFileObjects, path);
+
+ getLog().info("merge file: " + path + " in to " +
assemblyScriptFile.getAbsolutePath());
+ PluginUtils.mergeFiles(assemblyScriptFile, jarFileObjects, path);
}
} catch (Exception e) {
getLog().error(e);
Added:
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/utils/PluginUtils.java
===================================================================
---
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/utils/PluginUtils.java
(rev 0)
+++
trunk/sandbox/cdk/maven-resource-dependency-plugin/src/main/java/org/richfaces/cdk/rd/utils/PluginUtils.java 2009-01-19
12:03:29 UTC (rev 12333)
@@ -0,0 +1,92 @@
+package org.richfaces.cdk.rd.utils;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.digester.Digester;
+import org.apache.commons.vfs.FileObject;
+import org.codehaus.plexus.util.IOUtil;
+import org.richfaces.cdk.rd.Component;
+import org.richfaces.cdk.rd.Components;
+import org.richfaces.cdk.rd.JarResourceScanner;
+
+public class PluginUtils {
+
+ public static String [] DEFAULT_CONFIG_PATTERNS = new String []
{"**/*.component-dependencies.xml"};
+
+ public static String [] DEFAULT_PROCESS_INCLUDES = new String []
{"**/*.xhtml"};
+
+
+
+ public static void mergeFiles(File dest, List <FileObject> jarFileObjects, String
scriptPath) throws Exception{
+
+ for(FileObject sourceFileObjects : jarFileObjects){
+
+ FileOutputStream out = new FileOutputStream(dest, true);
+ try {
+ FileObject scriptFileObject = sourceFileObjects.resolveFile(scriptPath);
+ if(scriptFileObject.exists()) {
+ InputStream in = scriptFileObject.getContent().getInputStream();
+ try {
+ IOUtil.copy(in, out);
+ if (true) {
+ out.write('\n');
+ }
+ } finally {
+ IOUtil.close(in);
+ in = null;
+ }
+ }
+ } finally {
+ IOUtil.close(out);
+ out = null;
+ }
+ }
+ }
+
+ public static FileObject [] resolveConfigsFromJar(FileObject jarFileObject, String []
patterns) throws Exception {
+ FileObject [] result = new FileObject[0];
+ JarResourceScanner jarScanner = new JarResourceScanner();
+ jarScanner.setBaseFile(jarFileObject);
+ jarScanner.setPatterns(patterns);
+ jarScanner.doScan();
+ result = (FileObject [])jarScanner.getResult().toArray(new
FileObject[jarScanner.getResult().size()]);
+
+ return result;
+ }
+
+ public static List <Components> processConfigs(FileObject [] configs, Digester
digester) throws Exception{
+
+ List collector = new ArrayList<Components>();
+ for (FileObject config: configs) {
+ InputStream configInputStream = null;
+ try {
+ configInputStream = config.getContent().getInputStream();
+ collector.add(digester.parse(configInputStream));
+
+ } finally {
+ if(configInputStream != null) {
+ configInputStream.close();
+ }
+ }
+ }
+
+ return collector;
+ }
+
+ public static Digester createDefaultDigester() {
+ Digester digester = new Digester();
+ digester.addObjectCreate("components", Components.class);
+ digester.addCallMethod("components/namespace", "setNamespace", 0);
+ digester.addObjectCreate("components/component", Component.class);
+ digester.addCallMethod("components/component/name",
"setComponentName",0);
+ digester.addCallMethod("components/component/scripts/script",
"addScript",0);
+ digester.addCallMethod("components/component/styles/styles",
"addStyle",0);
+ digester.addSetNext("components/component", "addComponent");
+ return digester;
+ }
+}
+