[richfaces-svn-commits] JBoss Rich Faces SVN: r5967 - in branches/3.1.x: framework/impl/src/main/java/org/ajax4jsf/resource and 3 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Feb 8 17:20:13 EST 2008


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)




More information about the richfaces-svn-commits mailing list