Author: alexsmirnov
Date: 2008-02-08 17:20:12 -0500 (Fri, 08 Feb 2008)
New Revision: 5967
Added:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/CompressedScriptRenderer.java
branches/3.1.x/ui/assembly/src/main/config/
Modified:
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AbstractCDKMojo.java
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AssemblyLibraryMojo.java
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Library.java
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Taglib.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/ScriptRenderer.java
branches/3.1.x/framework/impl/src/main/resources/META-INF/resources-config.xml
branches/3.1.x/samples/tomahawkCompability/pom.xml
Log:
Merge fix for a
http://jira.jboss.com/jira/browse/RF-2219 from trunk
Modified:
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AbstractCDKMojo.java
===================================================================
---
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AbstractCDKMojo.java 2008-02-08
18:58:01 UTC (rev 5966)
+++
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AbstractCDKMojo.java 2008-02-08
22:20:12 UTC (rev 5967)
@@ -40,6 +40,7 @@
import org.apache.velocity.exception.MethodInvocationException;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
+import org.codehaus.plexus.velocity.DefaultVelocityComponent;
import org.codehaus.plexus.velocity.VelocityComponent;
/**
@@ -156,9 +157,11 @@
library.setPrefix(project.getGroupId());
}
+ getLog().debug("Default prefix for a generated packages:
"+library.getPrefix());
if (null == library.getDescription()) {
library.setDescription(project.getDescription());
}
+ getLog().debug("Library description: "+library.getDescription());
if( null == library.getJsfVersion()){
String version = Library.JSF11;
// Check version-specific methods in UIComponent class
@@ -176,6 +179,10 @@
}
library.setJsfVersion(version);
}
+
+ //velocity = new DefaultVelocityComponent();
+
+ getLog().debug("Generate files for a JSF "+library.getJsfVersion());
Renderkit[] renderkits = library.getRenderkits();
if (null != renderkits) {
for (int i = 0; i < renderkits.length; i++) {
@@ -233,6 +240,8 @@
if(null == taglib.getTaglib()){
taglib.setTaglib(taglib.getShortName());
}
+ getLog().debug("Taglib uri is " + taglib.getUri());
+ getLog().debug("Taglib shortname is " + taglib.getShortName());
if (null != library.getTaglibs() && library.getTaglibs().length > 0) {
for (int i = 0; i < library.getTaglibs().length; i++) {
Taglib t = library.getTaglibs()[i];
@@ -259,16 +268,16 @@
ClassLoader classLoader = Thread.currentThread()
.getContextClassLoader();
try {
- List compileClasspathElements = project
+ List<?> compileClasspathElements = project
.getCompileClasspathElements();
String outputDirectory = project.getBuild().getOutputDirectory();
URL[] urls = new URL[compileClasspathElements.size() + 1];
int i = 0;
- urls[i++] = new File(outputDirectory).toURL();
- for (Iterator iter = compileClasspathElements.iterator(); iter
+ urls[i++] = new File(outputDirectory).toURI().toURL();
+ for (Iterator<?> iter = compileClasspathElements.iterator(); iter
.hasNext();) {
String element = (String) iter.next();
- urls[i++] = new File(element).toURL();
+ urls[i++] = new File(element).toURI().toURL();
}
if (useCCL) {
@@ -306,7 +315,9 @@
if(null == taglib.getTaglib()){
taglib.setTaglib(taglib.getShortName());
}
+ getLog().debug("Taglib uri is " + taglib.getUri());
+ getLog().debug("Taglib shortname is " + taglib.getShortName());
}
-}
\ No newline at end of file
+}
Modified:
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AssemblyLibraryMojo.java
===================================================================
---
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AssemblyLibraryMojo.java 2008-02-08
18:58:01 UTC (rev 5966)
+++
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/AssemblyLibraryMojo.java 2008-02-08
22:20:12 UTC (rev 5967)
@@ -149,6 +149,13 @@
private MavenProject parentProject;
/**
+ * The list of resources we want to transfer.
+ *
+ * @parameter default-value="src/main/config"
+ */
+ private File config;
+
+ /**
* The directory for compiled classes.
*
* @parameter expression="${project.build.directory}"
@@ -504,47 +511,25 @@
* @throws MojoExecutionException
*/
private void mergeFacesConfig(List models) throws MojoExecutionException {
- StringBuffer config = new StringBuffer();
+ StringBuffer facesConfig = new StringBuffer();
for (int i = 0; i < library.getRenderkits().length; i++) {
Renderkit kit = library.getRenderkits()[i];
kit.setContent(new StringBuffer());
}
+ // Process all faces-config.xml from modules
for (Iterator iter = models.iterator(); iter.hasNext();) {
Model model = (Model) iter.next();
File moduleFacesConfig = new File(modulesDirectory, model
.getArtifactId()
+ "/META-INF/faces-config.xml");
- if (moduleFacesConfig.exists()) {
- getLog().info(
- "Process faces-config.xml for module "
- + model.getArtifactId());
- XMLBody configBody = new XMLBody();
- try {
- configBody.loadXML(new FileInputStream(moduleFacesConfig));
- config
- .append(configBody
- .getContent("/faces-config/*[name()!=\'render-kit\']"));
- for (int i = 0; i < library.getRenderkits().length; i++) {
- Renderkit kit = library.getRenderkits()[i];
- kit
- .getContent()
- .append(
- configBody
- .getContent("/faces-config/render-kit[child::render-kit-id='"
- + kit.getName()
- + "']/renderer"));
- }
- } catch (FileNotFoundException e) {
- throw new MojoExecutionException(
- "Could't read faces-config file", e);
- } catch (ParsingException e) {
- throw new MojoExecutionException(
- "Error parsing faces-config file", e);
- }
- }
+ processFacesConfigFile(facesConfig, moduleFacesConfig);
}
+ // Process faces-config from project resources
+ if (null !=config) {
+ processFacesConfigFile(facesConfig, new File(config,
"META-INF/faces-config.xml"));
+ }
VelocityContext context = new VelocityContext();
- context.put("content", config.toString());
+ context.put("content", facesConfig.toString());
context.put("library", library);
context.put("renderkits", Arrays.asList(library.getRenderkits()));
try {
@@ -557,6 +542,42 @@
}
/**
+ * @param config
+ * @param moduleFacesConfig
+ * @throws MojoExecutionException
+ */
+ private void processFacesConfigFile(StringBuffer config,
+ File moduleFacesConfig) throws MojoExecutionException {
+ if (moduleFacesConfig.exists()) {
+ getLog().info(
+ "Process "+moduleFacesConfig.getName());
+ XMLBody configBody = new XMLBody();
+ try {
+ configBody.loadXML(new FileInputStream(moduleFacesConfig));
+ config
+ .append(configBody
+ .getContent("/faces-config/*[name()!=\'render-kit\']"));
+ for (int i = 0; i < library.getRenderkits().length; i++) {
+ Renderkit kit = library.getRenderkits()[i];
+ kit
+ .getContent()
+ .append(
+ configBody
+ .getContent("/faces-config/render-kit[child::render-kit-id='"
+ + kit.getName()
+ + "']/renderer"));
+ }
+ } catch (FileNotFoundException e) {
+ throw new MojoExecutionException(
+ "Could't read faces-config file", e);
+ } catch (ParsingException e) {
+ throw new MojoExecutionException(
+ "Error parsing faces-config file", e);
+ }
+ }
+ }
+
+ /**
* Merge XML files from extracted models to one in build directory.
*
* @param models
@@ -586,42 +607,13 @@
for (Iterator iter = models.iterator(); iter.hasNext();) {
Model model = (Model) iter.next();
File moduleDir = new File(modulesDirectory, model.getArtifactId());
- DirectoryScanner ds = new DirectoryScanner();
- ds.setFollowSymlinks(true);
- ds.setBasedir(moduleDir);
- ds.setIncludes(split);
- ds.addDefaultExcludes();
- ds.scan();
- String[] files = ds.getIncludedFiles();
- for (int i = 0; i < files.length; i++) {
- File moduleFacesConfig = new File(moduleDir, files[i]);
- getLog().info(
- "Process " + files[i] + " for module "
- + model.getArtifactId());
- XMLBody configBody = new XMLBody();
- try {
- configBody.loadXML(new FileInputStream(moduleFacesConfig),namespaceAware);
- xmls.add(configBody);
- if (commonXpath != null) {
- if (keyXPath == null) {
- content.append(configBody.getContent(commonXpath));
- } else {
- content.append(configBody.getContentUnique(
- commonXpath, keyXPath, keySet));
- }
- } else {
- content.append(configBody.getContent());
- }
- } catch (FileNotFoundException e) {
- throw new MojoExecutionException("Could't read file "
- + moduleFacesConfig.getPath(), e);
- } catch (ParsingException e) {
- throw new MojoExecutionException(
- "Error parsing config file "
- + moduleFacesConfig.getPath(), e);
- }
- }
+ mergeXMLdir(moduleDir, commonXpath, keyXPath, namespaceAware,
+ keySet, content, xmls, split);
}
+ if(null!=config){
+ mergeXMLdir(config, commonXpath, keyXPath, namespaceAware,
+ keySet, content, xmls, split);
+ }
if (xmls.size() > 0) {
context.put("content", content.toString());
context.put("library", library);
@@ -637,6 +629,58 @@
}
}
+ /**
+ * @param moduleDir
+ * @param commonXpath
+ * @param keyXPath
+ * @param namespaceAware
+ * @param keySet
+ * @param content
+ * @param xmls
+ * @param split
+ * @throws IllegalStateException
+ * @throws MojoExecutionException
+ */
+ private void mergeXMLdir(File moduleDir, String commonXpath,
+ String keyXPath, boolean namespaceAware, Set<String> keySet,
+ StringBuffer content, List<XMLBody> xmls, String[] split)
+ throws IllegalStateException, MojoExecutionException {
+ DirectoryScanner ds = new DirectoryScanner();
+ ds.setFollowSymlinks(true);
+ ds.setBasedir(moduleDir);
+ ds.setIncludes(split);
+ ds.addDefaultExcludes();
+ ds.scan();
+ String[] files = ds.getIncludedFiles();
+ for (int i = 0; i < files.length; i++) {
+ File moduleFacesConfig = new File(moduleDir, files[i]);
+ getLog().info(
+ "Process " + files[i] );
+ XMLBody configBody = new XMLBody();
+ try {
+ configBody.loadXML(new FileInputStream(moduleFacesConfig),namespaceAware);
+ xmls.add(configBody);
+ if (commonXpath != null) {
+ if (keyXPath == null) {
+ content.append(configBody.getContent(commonXpath));
+ } else {
+ content.append(configBody.getContentUnique(
+ commonXpath, keyXPath, keySet));
+ }
+ } else {
+ content.append(configBody.getContent());
+ }
+ } catch (FileNotFoundException e) {
+ throw new MojoExecutionException("Could't read file "
+ + moduleFacesConfig.getPath(), e);
+ } catch (ParsingException e) {
+ throw new MojoExecutionException(
+ "Error parsing config file "
+ + moduleFacesConfig.getPath(), e);
+ }
+ }
+ }
+
private void unpackArtifact(Artifact artifact, File moduleDir,
boolean isResource) throws MojoExecutionException {
try {
Modified:
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Library.java
===================================================================
---
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Library.java 2008-02-08
18:58:01 UTC (rev 5966)
+++
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Library.java 2008-02-08
22:20:12 UTC (rev 5967)
@@ -144,4 +144,8 @@
this.taglibs = taglibs;
}
+ @Override
+ public String toString() {
+ return "JSF library "+getPrefix()+", desc:
"+getDescription()+(null!=getTaglibs()?", libs:
"+getTaglibs():"");
+ }
}
Modified:
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Taglib.java
===================================================================
---
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Taglib.java 2008-02-08
18:58:01 UTC (rev 5966)
+++
branches/3.1.x/cdk/maven-cdk-plugin/src/main/java/org/ajax4jsf/builder/mojo/Taglib.java 2008-02-08
22:20:12 UTC (rev 5967)
@@ -220,4 +220,8 @@
_excludeTags = excludeTags;
}
+ @Override
+ public String toString() {
+ return "Lib: "+getShortName()+", URL: "+getUri();
+ }
}
Copied:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/CompressedScriptRenderer.java
(from rev 5966,
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CompressedScriptRenderer.java)
===================================================================
---
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/CompressedScriptRenderer.java
(rev 0)
+++
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/CompressedScriptRenderer.java 2008-02-08
22:20:12 UTC (rev 5967)
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package org.ajax4jsf.resource;
+
+/**
+ * @author asmirnov
+ *
+ */
+public class CompressedScriptRenderer extends OneTimeRenderer {
+
+ protected String getTag() {
+ // TODO Auto-generated method stub
+ return "script";
+ }
+
+ protected String getHrefAttr() {
+ // TODO Auto-generated method stub
+ return "src";
+ }
+
+ protected String[][] getCommonAttrs() {
+ // TODO Auto-generated method stub
+ return new String[][]{{"type",getContentType()}};
+ }
+
+ public String getContentType() {
+ // TODO - use configurable encoding ?
+ return "text/javascript";
+ }
+
+
+}
Modified:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/ScriptRenderer.java
===================================================================
---
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/ScriptRenderer.java 2008-02-08
18:58:01 UTC (rev 5966)
+++
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/resource/ScriptRenderer.java 2008-02-08
22:20:12 UTC (rev 5967)
@@ -37,45 +37,13 @@
* @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:57:04 $
*
*/
-public class ScriptRenderer extends OneTimeRenderer {
+public class ScriptRenderer extends CompressedScriptRenderer {
private static final String COMPRESS_SCRIPTS_PARAMETER =
"org.ajax4jsf.COMPRESS_SCRIPT";
private static final Log _log = LogFactory.getLog(ScriptRenderer.class);
/* (non-Javadoc)
- * @see org.ajax4jsf.resource.BaseResourceRenderer#getTag()
- */
- protected String getTag() {
- // TODO Auto-generated method stub
- return "script";
- }
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.resource.BaseResourceRenderer#getHrefAttr()
- */
- protected String getHrefAttr() {
- // TODO Auto-generated method stub
- return "src";
- }
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.resource.BaseResourceRenderer#getCommonAttrs()
- */
- protected String[][] getCommonAttrs() {
- // TODO Auto-generated method stub
- return new String[][]{{"type",getContentType()}};
- }
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.resource.ResourceRenderer#getContentType()
- */
- public String getContentType() {
- // TODO - use configurable encoding ?
- return "text/javascript";
- }
-
- /* (non-Javadoc)
* @see
org.ajax4jsf.resource.BaseResourceRenderer#send(org.ajax4jsf.resource.InternetResource,
org.ajax4jsf.resource.ResourceContext)
*/
public int send(InternetResource base, ResourceContext context) throws IOException {
Modified: branches/3.1.x/framework/impl/src/main/resources/META-INF/resources-config.xml
===================================================================
---
branches/3.1.x/framework/impl/src/main/resources/META-INF/resources-config.xml 2008-02-08
18:58:01 UTC (rev 5966)
+++
branches/3.1.x/framework/impl/src/main/resources/META-INF/resources-config.xml 2008-02-08
22:20:12 UTC (rev 5967)
@@ -18,10 +18,15 @@
<renderer class="org.ajax4jsf.resource.ScriptRenderer"/>
</resource>
<resource >
- <name>org/ajax4jsf/renderers/ajax/scripts/form.js</name>
- <path>/org/ajax4jsf/javascript/scripts/form.js</path>
- <renderer class="org.ajax4jsf.resource.ScriptRenderer"/>
+ <name>/org/ajax4jsf/framework.pack.js</name>
+ <path>org/ajax4jsf/framework.pack.js</path>
+ <renderer class="org.ajax4jsf.resource.CompressedScriptRenderer"/>
</resource>
+ <resource >
+ <name>org/ajax4jsf/renderers/ajax/scripts/form.js</name>
+ <path>/org/ajax4jsf/javascript/scripts/form.js</path>
+ <renderer class="org.ajax4jsf.resource.ScriptRenderer"/>
+ </resource>
<resource class="org.richfaces.renderkit.html.GradientA">
<name>org.richfaces.renderkit.html.GradientA</name>
</resource>
Modified: branches/3.1.x/samples/tomahawkCompability/pom.xml
===================================================================
--- branches/3.1.x/samples/tomahawkCompability/pom.xml 2008-02-08 18:58:01 UTC (rev 5966)
+++ branches/3.1.x/samples/tomahawkCompability/pom.xml 2008-02-08 22:20:12 UTC (rev 5967)
@@ -3,7 +3,7 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>1.1.1-SNAPSHOT</version>
+ <version>3.1.4-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
Copied: branches/3.1.x/ui/assembly/src/main/config (from rev 5966,
trunk/ui/assembly/src/main/config)