Author: blabno
Date: 2011-04-14 15:34:56 -0400 (Thu, 14 Apr 2011)
New Revision: 22422
Added:
sandbox/trunk/ui/watermark/bom/
sandbox/trunk/ui/watermark/bom/pom.xml
sandbox/trunk/ui/watermark/bom/watermark-bom.iml
sandbox/trunk/ui/watermark/demo/
sandbox/trunk/ui/watermark/demo/pom.xml
sandbox/trunk/ui/watermark/demo/src/
sandbox/trunk/ui/watermark/demo/src/main/
sandbox/trunk/ui/watermark/demo/src/main/java/
sandbox/trunk/ui/watermark/demo/src/main/java/org/
sandbox/trunk/ui/watermark/demo/src/main/java/org/richfaces/
sandbox/trunk/ui/watermark/demo/src/main/java/org/richfaces/sandbox/
sandbox/trunk/ui/watermark/demo/src/main/java/org/richfaces/sandbox/watermark/
sandbox/trunk/ui/watermark/demo/src/main/java/org/richfaces/sandbox/watermark/WatermarkBean.java
sandbox/trunk/ui/watermark/demo/src/main/resources/
sandbox/trunk/ui/watermark/demo/src/main/webapp/
sandbox/trunk/ui/watermark/demo/src/main/webapp/META-INF/
sandbox/trunk/ui/watermark/demo/src/main/webapp/META-INF/context.xml
sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/
sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/faces-config.xml
sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/web.xml
sandbox/trunk/ui/watermark/demo/src/main/webapp/index.jsp
sandbox/trunk/ui/watermark/demo/src/main/webapp/index.xhtml
sandbox/trunk/ui/watermark/demo/src/test/
sandbox/trunk/ui/watermark/demo/src/test/java/
sandbox/trunk/ui/watermark/demo/watermark-demo.iml
sandbox/trunk/ui/watermark/parent/
sandbox/trunk/ui/watermark/parent/pom.xml
sandbox/trunk/ui/watermark/parent/watermark-parent.iml
sandbox/trunk/ui/watermark/pom.xml
sandbox/trunk/ui/watermark/ui/
sandbox/trunk/ui/watermark/ui/pom.xml
sandbox/trunk/ui/watermark/ui/src/
sandbox/trunk/ui/watermark/ui/src/main/
sandbox/trunk/ui/watermark/ui/src/main/java/
sandbox/trunk/ui/watermark/ui/src/main/java/org/
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/AbstractWatermark.java
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/package-info.java
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/renderkit/
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/renderkit/WatermarkRendererBase.java
sandbox/trunk/ui/watermark/ui/src/main/resources/
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/jquery.watermark.js
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/richfaces.watermark.js
sandbox/trunk/ui/watermark/ui/src/main/templates/
sandbox/trunk/ui/watermark/ui/src/main/templates/README
sandbox/trunk/ui/watermark/ui/src/main/templates/org/
sandbox/trunk/ui/watermark/ui/src/main/templates/org/richfaces/
sandbox/trunk/ui/watermark/ui/src/main/templates/org/richfaces/watermark.template.xml
sandbox/trunk/ui/watermark/ui/src/test/
sandbox/trunk/ui/watermark/ui/src/test/java/
sandbox/trunk/ui/watermark/ui/src/test/resources/
sandbox/trunk/ui/watermark/ui/watermark.iml
sandbox/trunk/ui/watermark/watermark-aggregator.iml
sandbox/trunk/ui/watermark/watermark-aggregator.ipr
Log:
Imported watermark component into sandbox.
Added: sandbox/trunk/ui/watermark/bom/pom.xml
===================================================================
--- sandbox/trunk/ui/watermark/bom/pom.xml (rev 0)
+++ sandbox/trunk/ui/watermark/bom/pom.xml 2011-04-14 19:34:56 UTC (rev 22422)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ JBoss, Home of Professional Open Source Copyright 2010, Red Hat,
+ Inc. and individual contributors by the @authors tag. See the
+ copyright.txt in the distribution for a full listing of
+ individual contributors. This is free software; you can
+ redistribute it and/or modify it under the terms of the GNU
+ Lesser General Public License as published by the Free Software
+ Foundation; either version 2.1 of the License, or (at your
+ option) any later version. This software is distributed in the
+ hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ for more details. You should have received a copy of the GNU
+ Lesser General Public License along with this software; if not,
+ write to the Free Software Foundation, Inc., 51 Franklin St,
+ Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF site:
+
http://www.fsf.org.
+-->
+
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.richfaces.sandbox.ui.watermark</groupId>
+ <artifactId>watermark-bom</artifactId>
+ <version>4.1.0-SNAPSHOT</version>
+ <name>Richfaces UI Components: watermark bom</name>
+ <packaging>pom</packaging>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces</groupId>
+ <artifactId>richfaces-bom</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>watermark</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+</project>
Added: sandbox/trunk/ui/watermark/bom/watermark-bom.iml
===================================================================
--- sandbox/trunk/ui/watermark/bom/watermark-bom.iml (rev 0)
+++ sandbox/trunk/ui/watermark/bom/watermark-bom.iml 2011-04-14 19:34:56 UTC (rev 22422)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module
org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true"
type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager"
inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
+
Added: sandbox/trunk/ui/watermark/demo/pom.xml
===================================================================
--- sandbox/trunk/ui/watermark/demo/pom.xml (rev 0)
+++ sandbox/trunk/ui/watermark/demo/pom.xml 2011-04-14 19:34:56 UTC (rev 22422)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.richfaces.sandbox.ui.watermark</groupId>
+ <artifactId>watermark-parent</artifactId>
+ <version>4.1.0-SNAPSHOT</version>
+ <relativePath>../parent/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>watermark-demo</artifactId>
+ <name>Richfaces UI Components: watermark demo</name>
+ <packaging>war</packaging>
+ <build>
+ <finalName>watermark-demo</finalName>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>richfaces-components-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.core</groupId>
+ <artifactId>richfaces-core-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.sandbox.ui.watermark</groupId>
+ <artifactId>watermark</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-impl</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.el</groupId>
+ <artifactId>el-ri</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+</project>
+
+
Added:
sandbox/trunk/ui/watermark/demo/src/main/java/org/richfaces/sandbox/watermark/WatermarkBean.java
===================================================================
---
sandbox/trunk/ui/watermark/demo/src/main/java/org/richfaces/sandbox/watermark/WatermarkBean.java
(rev 0)
+++
sandbox/trunk/ui/watermark/demo/src/main/java/org/richfaces/sandbox/watermark/WatermarkBean.java 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,49 @@
+package org.richfaces.sandbox.watermark;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import java.io.Serializable;
+
+public class WatermarkBean implements Serializable {
+// ------------------------------ FIELDS ------------------------------
+
+ private Object date;
+
+ private String text = "Watermark text";
+ private Object watermarkedInput;
+
+// --------------------- GETTER / SETTER METHODS ---------------------
+
+ public Object getDate() {
+ return date;
+ }
+
+ public void setDate(Object date) {
+ this.date = date;
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ public Object getWatermarkedInput() {
+ return watermarkedInput;
+ }
+
+ public void setWatermarkedInput(Object watermarkedInput) {
+ this.watermarkedInput = watermarkedInput;
+ }
+
+// -------------------------- OTHER METHODS --------------------------
+
+ public Object submit() {
+ final FacesContext context = FacesContext.getCurrentInstance();
+ context.addMessage(null, new FacesMessage("Text:" +
getWatermarkedInput()));
+ context.addMessage(null, new FacesMessage("Date:" + getDate()));
+ return null;
+ }
+}
Added: sandbox/trunk/ui/watermark/demo/src/main/webapp/META-INF/context.xml
===================================================================
--- sandbox/trunk/ui/watermark/demo/src/main/webapp/META-INF/context.xml
(rev 0)
+++ sandbox/trunk/ui/watermark/demo/src/main/webapp/META-INF/context.xml 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Context antiJARLocking="true" path="/schedule-demo"/>
Added: sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/faces-config.xml
(rev 0)
+++ sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/faces-config.xml 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
+ version="2.0">
+ <managed-bean>
+ <managed-bean-name>watermarkBean</managed-bean-name>
+
<managed-bean-class>org.richfaces.sandbox.watermark.WatermarkBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+
+</faces-config>
\ No newline at end of file
Added: sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/web.xml
===================================================================
--- sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/web.xml
(rev 0)
+++ sandbox/trunk/ui/watermark/demo/src/main/webapp/WEB-INF/web.xml 2011-04-14 19:34:56
UTC (rev 22422)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ id="WebApp_ID"
+ version="2.5">
+ <display-name>Watermark demo</display-name>
+ <context-param>
+ <param-name>com.sun.faces.allowTextChildren</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.CONFIG_FILES</param-name>
+ <param-value>/WEB-INF/faces-config.xml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>org.richfaces.SKIN</param-name>
+ <param-value>classic</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
+ <param-value>2</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.DEVELOPMENT</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>server</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.validateXml</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.verifyObjects</param-name>
+ <param-value>false</param-value>
+ </context-param>
+ <context-param>
+ <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
+ <param-value>com.sun.facelets.FaceletViewHandler</param-value>
+ </context-param>
+ <context-param>
+ <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
+ <param-value>false</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.PROJECT_STAGE</param-name>
+ <param-value>Development</param-value>
+ </context-param>
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>/faces/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ </login-config>
+
+</web-app>
Added: sandbox/trunk/ui/watermark/demo/src/main/webapp/index.jsp
===================================================================
--- sandbox/trunk/ui/watermark/demo/src/main/webapp/index.jsp (rev
0)
+++ sandbox/trunk/ui/watermark/demo/src/main/webapp/index.jsp 2011-04-14 19:34:56 UTC (rev
22422)
@@ -0,0 +1,7 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head></head>
+<body>
+<jsp:forward page="index.jsf"/>
+</body>
+</html>
Added: sandbox/trunk/ui/watermark/demo/src/main/webapp/index.xhtml
===================================================================
--- sandbox/trunk/ui/watermark/demo/src/main/webapp/index.xhtml
(rev 0)
+++ sandbox/trunk/ui/watermark/demo/src/main/webapp/index.xhtml 2011-04-14 19:34:56 UTC
(rev 22422)
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
+
xmlns:watermark="http://richfaces.org/sandbox/watermark">
+<h:head>
+ <title>Watermark sample</title>
+ <style type="text/css">
+ .rich-container input.watermark {
+ color: #777;
+ }
+ </style>
+</h:head>
+
+<h:body class="rich-container">
+<rich:messages ajaxRendered="true"/>
+
+<h:form>
+ <a4j:poll ajaxSingle="true" interval="5000"/>
+ <a4j:queue requestDelay="400" ignoreDupResponses="true"/>
+
+ <h:outputLabel value="Watermark text" for="text"/>
+ <h:inputText id="text" value="#{watermarkBean.text}"
required="true">
+ <f:ajax event="valueChange" render="@form"/>
+ </h:inputText>
+ <h:commandButton value="Submit"
action="#{watermarkBean.submit}"/>
+ <br/><br/>
+ <h:inputText id="watermarked"
value="#{watermarkBean.watermarkedInput}">
+ <watermark:watermark value="#{watermarkBean.text}"/>
+ </h:inputText>
+
+ <rich:calendar id="calendar" value="#{watermarkBean.date}"
enableManualInput="true" ajaxSingle="true"/>
+ <watermark:watermark value="#{watermarkBean.text}"
for="calendar" suffix="InputDate"/>
+
+ <!--<rich:comboBox>-->
+ <!--<watermark:watermark value="#{watermarkBean.text}"
suffix="comboboxField"/>-->
+ <!--</rich:comboBox>-->
+
+ <input id="htmlInput" type="text"/>
+ <watermark:watermark value="#{watermarkBean.text}"
for="htmlInput"/>
+</h:form>
+
+<div id="status"></div>
+<!--<rich:insert src="/index.xhtml" highlight="xhtml"
rendered="#{showSource!=false}"/>-->
+
+</h:body>
+</html>
Added: sandbox/trunk/ui/watermark/demo/watermark-demo.iml
===================================================================
--- sandbox/trunk/ui/watermark/demo/watermark-demo.iml (rev 0)
+++ sandbox/trunk/ui/watermark/demo/watermark-demo.iml 2011-04-14 19:34:56 UTC (rev
22422)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module
org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true"
type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="web" name="Web">
+ <configuration>
+ <descriptors>
+ <deploymentDescriptor name="web.xml"
url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/web.xml" />
+ </descriptors>
+ <webroots>
+ <root url="file://$MODULE_DIR$/src/main/webapp"
relative="/" />
+ </webroots>
+ <context-artifact name="watermark-demo:war exploded" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5"
inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java"
isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" name="Maven:
org.richfaces.ui:richfaces-components-ui:4.1.0-SNAPSHOT" level="project"
/>
+ <orderEntry type="library" name="Maven:
org.richfaces.ui:richfaces-components-api:4.1.0-SNAPSHOT" level="project"
/>
+ <orderEntry type="library" name="Maven:
org.richfaces.core:richfaces-core-api:4.1.0-SNAPSHOT" level="project"
/>
+ <orderEntry type="library" name="Maven:
com.google.guava:guava:r08" level="project" />
+ <orderEntry type="library" name="Maven:
org.richfaces.core:richfaces-core-impl:4.1.0-SNAPSHOT" level="project"
/>
+ <orderEntry type="library" name="Maven:
net.sourceforge.cssparser:cssparser:0.9.5" level="project" />
+ <orderEntry type="library" name="Maven: org.w3c.css:sac:1.3"
level="project" />
+ <orderEntry type="module" module-name="watermark" />
+ <orderEntry type="library" name="Maven:
com.sun.faces:jsf-api:2.0.4-b09" level="project" />
+ <orderEntry type="library" scope="RUNTIME" name="Maven:
com.sun.faces:jsf-impl:2.0.4-b09" level="project" />
+ <orderEntry type="library" name="Maven: com.sun.el:el-ri:1.0"
level="project" />
+ </component>
+</module>
+
Added: sandbox/trunk/ui/watermark/parent/pom.xml
===================================================================
--- sandbox/trunk/ui/watermark/parent/pom.xml (rev 0)
+++ sandbox/trunk/ui/watermark/parent/pom.xml 2011-04-14 19:34:56 UTC (rev 22422)
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ JBoss, Home of Professional Open Source Copyright 2010, Red Hat,
+ Inc. and individual contributors by the @authors tag. See the
+ copyright.txt in the distribution for a full listing of
+ individual contributors. This is free software; you can
+ redistribute it and/or modify it under the terms of the GNU
+ Lesser General Public License as published by the Free Software
+ Foundation; either version 2.1 of the License, or (at your
+ option) any later version. This software is distributed in the
+ hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ for more details. You should have received a copy of the GNU
+ Lesser General Public License along with this software; if not,
+ write to the Free Software Foundation, Inc., 51 Franklin St,
+ Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF site:
+
http://www.fsf.org.
+-->
+
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.richfaces</groupId>
+ <artifactId>richfaces-root-parent</artifactId>
+ <version>4.1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.richfaces.sandbox.ui.watermark</groupId>
+ <artifactId>watermark-parent</artifactId>
+ <name>Richfaces UI Components: watermark parent</name>
+ <packaging>pom</packaging>
+
+ <properties>
+ <richfaces.checkstyle.version>1</richfaces.checkstyle.version>
+
<org.richfaces.cdk.version>4.1.0-SNAPSHOT</org.richfaces.cdk.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.sandbox.ui.watermark</groupId>
+ <artifactId>watermark-bom</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>annotations</artifactId>
+ <version>${org.richfaces.cdk.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>maven-cdk-plugin</artifactId>
+ <version>${org.richfaces.cdk.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <version>1.0-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-archetype-plugin</artifactId>
+ <version>2.0-alpha-4</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-beta-1</version>
+ <configuration>
+ <fail>false</fail>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project>
Added: sandbox/trunk/ui/watermark/parent/watermark-parent.iml
===================================================================
--- sandbox/trunk/ui/watermark/parent/watermark-parent.iml (rev
0)
+++ sandbox/trunk/ui/watermark/parent/watermark-parent.iml 2011-04-14 19:34:56 UTC (rev
22422)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module
org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true"
type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5"
inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
com.sun.faces:jsf-api:2.0.4-b09" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
com.sun.faces:jsf-impl:2.0.4-b09" level="project" />
+ </component>
+</module>
+
Added: sandbox/trunk/ui/watermark/pom.xml
===================================================================
--- sandbox/trunk/ui/watermark/pom.xml (rev 0)
+++ sandbox/trunk/ui/watermark/pom.xml 2011-04-14 19:34:56 UTC (rev 22422)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ JBoss, Home of Professional Open Source
+ Copyright , Red Hat, Inc. and individual contributors
+ by the @authors tag. See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ -->
+
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.richfaces.sandbox.ui.watermark</groupId>
+ <artifactId>watermark-parent</artifactId>
+ <version>4.1.0-SNAPSHOT</version>
+ <relativePath>parent/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>watermark-aggregator</artifactId>
+ <packaging>pom</packaging>
+ <name>Richfaces UI Components: watermark Aggregator</name>
+
+ <modules>
+ <module>bom</module>
+ <module>parent</module>
+ <module>ui</module>
+ <module>demo</module>
+ </modules>
+
+ <profiles>
+ <profile>
+ <id>cli</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.twdata.maven</groupId>
+ <artifactId>maven-cli-plugin</artifactId>
+ <version>1.0.6-SNAPSHOT</version>
+ <configuration>
+ <userAliases>
+ <ui>watermark clean install</ui>
+ <demo>watermark-demo clean package</demo>
+ </userAliases>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <scm>
+
<
connection>scm:svn:http://anonsvn.jboss.org/repos/richfaces/sandbox/tr...
+
<
developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/sand...
+ <
url>http://fisheye.jboss.org/browse/richfaces/</url>
+ </scm>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>bernard.labno.pl</id>
+ <name>MyCo Internal Repository</name>
+
<url>http://bernard.labno.pl/artifactory/libs-snapshot-local</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+</project>
Added: sandbox/trunk/ui/watermark/ui/pom.xml
===================================================================
--- sandbox/trunk/ui/watermark/ui/pom.xml (rev 0)
+++ sandbox/trunk/ui/watermark/ui/pom.xml 2011-04-14 19:34:56 UTC (rev 22422)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.richfaces.sandbox.ui.watermark</groupId>
+ <artifactId>watermark-parent</artifactId>
+ <version>4.1.0-SNAPSHOT</version>
+ <relativePath>../parent/pom.xml</relativePath>
+ </parent>
+ <artifactId>watermark</artifactId>
+ <name>Richfaces UI Components: watermark ui</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.ui.core</groupId>
+ <artifactId>richfaces-ui-core-ui</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>annotations</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.test-jsf</groupId>
+ <artifactId>jsf-test-stage</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>maven-cdk-plugin</artifactId>
+ <version>${org.richfaces.cdk.version}</version>
+ <executions>
+ <execution>
+ <id>cdk-generate-sources</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added:
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/AbstractWatermark.java
===================================================================
---
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/AbstractWatermark.java
(rev 0)
+++
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/AbstractWatermark.java 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright , Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.richfaces.component;
+
+import org.richfaces.cdk.annotations.Attribute;
+import org.richfaces.cdk.annotations.JsfComponent;
+import org.richfaces.cdk.annotations.JsfRenderer;
+import org.richfaces.cdk.annotations.Tag;
+import org.richfaces.cdk.annotations.TagType;
+import org.richfaces.renderkit.WatermarkRendererBase;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIOutput;
+import javax.faces.context.FacesContext;
+
+/**
+ * Adds watermark capability to HTML input and textarea elements.
+ * A watermark typically appears as light gray text within an input or textarea element
whenever
+ * the element is empty and does not have focus. This provides a hint to the user as to
what
+ * the input or textarea element is used for, or the type of input that is required.
+ */
+@JsfComponent(tag = @Tag(name = "watermark", type = TagType.Facelets),
+ renderer = @JsfRenderer(family = AbstractWatermark.COMPONENT_FAMILY, type =
WatermarkRendererBase.RENDERER_TYPE),
+ attributes =
{"core-props.xml","javax.faces.component.ValueHolder.xml"}
+)
+public abstract class AbstractWatermark extends UIOutput {
+// ------------------------------ FIELDS ------------------------------
+
+ public static final String COMPONENT_FAMILY = "org.richfaces.Watermark";
+
+ public static final String COMPONENT_TYPE = "org.richfaces.Watermark";
+
+// -------------------------- OTHER METHODS --------------------------
+
+ public String getTargetClientId(FacesContext context) {
+ String sid = getFor();
+ String target;
+ if (sid != null && ! "".equals(sid)) {
+ try {
+
+ UIComponent forcomp = findComponent(sid);
+ if (forcomp != null) {
+ target = forcomp.getClientId(context);
+ } else {
+ target = sid;
+ }
+ }catch(IllegalArgumentException e) {
+ target = sid;
+ }
+ } else {
+ target = getParent().getClientId(context);
+ }
+ String suffix = getSuffix();
+ if(suffix != null && !"".equals(suffix)) {
+ target += suffix;
+ }
+ return target;
+ }
+
+ /**
+ * This attribute is not used.
+ * @return irrelevant
+ */
+ @Attribute(hidden = true)
+ public abstract String getTitle();
+
+ @Attribute(required = true)
+ public abstract Object getValue();
+
+ /**
+ * Use this if watermark should be attached to element with id different then
component id.
+ * i.e.: rich:comboBox with id="combo" nested in form with id="f"
renders input with
+ * clientId="f:combocomboboxField"
+ * So in order to attach watermark to that element provide
suffix="comboboxField".
+ *
+ * @return the suffix
+ */
+ @Attribute
+ public abstract String getSuffix();
+
+ /**
+ * Use this if watermark cannot be nested within come components i.e. in calendar.
+ * <p/>
+ * Example 1: rich:calendar with id="c" nested in form with
id="f" renders input with
+ * clientId="f:cInputDate".
+ * rich:calendar also gets messed up if watermark is nested within, so place it
outside of calendar.
+ * So in order to attach watermark to that element provide for="c"
suffix="InputDate".
+ * <p/>
+ * Example 2: watermark should be attached to pure html input (not jsf component)
with id="htmlInput".
+ * To achieve this provide for="htmlInput".
+ *
+ * @return id of component for which watermark should be applied
+ */
+ @Attribute
+ public abstract String getFor();
+}
Added:
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/package-info.java
===================================================================
--- sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/package-info.java
(rev 0)
+++
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/component/package-info.java 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,5 @@
+@TagLibrary(uri = "http://richfaces.org/sandbox/watermark", shortName =
"watermark", prefix = "watermark", displayName = "Watermark
component")
+package org.richfaces.component;
+
+import org.richfaces.cdk.annotations.TagLibrary;
+
Added:
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/renderkit/WatermarkRendererBase.java
===================================================================
---
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/renderkit/WatermarkRendererBase.java
(rev 0)
+++
sandbox/trunk/ui/watermark/ui/src/main/java/org/richfaces/renderkit/WatermarkRendererBase.java 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,66 @@
+package org.richfaces.renderkit;
+
+import org.ajax4jsf.javascript.JSObject;
+import org.richfaces.component.AbstractWatermark;
+
+import javax.faces.application.ResourceDependencies;
+import javax.faces.application.ResourceDependency;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+@ResourceDependencies({
+ @ResourceDependency(name = "jquery.js", target = "head"),
+ @ResourceDependency(name = "jquery.watermark.js", target =
"head"),
+ @ResourceDependency(name = "base-component.reslib", library =
"org.richfaces", target = "head"),
+ @ResourceDependency(name = "richfaces.watermark.js", target =
"head")
+})
+public abstract class WatermarkRendererBase extends RendererBase {
+// ------------------------------ FIELDS ------------------------------
+
+ /**
+ * Following defaults are be used by addOptionIfSetAndNotDefault
+ */
+ public static final Map<String, Object> DEFAULTS;
+
+ public static final String RENDERER_TYPE =
"org.richfaces.WatermarkRenderer";
+
+// -------------------------- STATIC METHODS --------------------------
+
+ static {
+ Map<String, Object> defaults = new HashMap<String, Object>();
+ defaults.put("styleClass", "");
+ defaults.put("useNative", true);
+ DEFAULTS = Collections.unmodifiableMap(defaults);
+ }
+
+ protected void addOptionIfSetAndNotDefault(String optionName, Object value,
Map<String, Object> options) {
+ if (value != null && !"".equals(value) &&
!value.equals(DEFAULTS.get(optionName))) {
+ options.put(optionName, value);
+ }
+ }
+
+ protected Map<String, Object> getOptions(AbstractWatermark watermark) {
+ /**
+ * Include only attributes that are actually set.
+ */
+ Map<String, Object> options = new HashMap<String, Object>();
+ addOptionIfSetAndNotDefault("styleClass",
watermark.getAttributes().get("styleClass"), options);
+ addOptionIfSetAndNotDefault("text", watermark.getValue(), options);
+ return options;
+ }
+
+ protected void writeInitFunction(FacesContext context, UIComponent component) throws
IOException {
+ AbstractWatermark watermark = (AbstractWatermark) component;
+ ResponseWriter writer = context.getResponseWriter();
+ String clientId = watermark.getClientId(context);
+ final Map<String, Object> options = getOptions(watermark);
+ options.put("targetId", watermark.getTargetClientId(context));
+ writer.writeText(new JSObject("RichFaces.ui.Watermark", clientId,
options).toScript(), null);
+ }
+}
+
Added:
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/jquery.watermark.js
===================================================================
---
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/jquery.watermark.js
(rev 0)
+++
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/jquery.watermark.js 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,527 @@
+/*
+ Watermark plugin for jQuery
+ Version: 3.0.6
+
http://jquery-watermark.googlecode.com/
+
+ Copyright (c) 2009-2010 Todd Northrop
+
http://www.speednet.biz/
+
+ June 21, 2010
+
+ Requires: jQuery 1.2.3+
+
+ Dual licensed under the MIT or GPL Version 2 licenses.
+ See mit-license.txt and gpl2-license.txt in the project root for details.
+------------------------------------------------------*/
+
+(function ($) {
+
+var
+ // Will speed up references to undefined
+ undefined,
+
+ // String constants for data names
+ dataFlag = "watermark",
+ dataClass = "watermarkClass",
+ dataFocus = "watermarkFocus",
+ dataFormSubmit = "watermarkSubmit",
+ dataMaxLen = "watermarkMaxLength",
+ dataPassword = "watermarkPassword",
+ dataText = "watermarkText",
+
+ // Includes only elements with watermark defined
+ selWatermarkDefined = ":data(" + dataFlag + ")",
+
+ // Includes only elements capable of having watermark
+ selWatermarkAble = ":text,:password,:search,textarea",
+
+ // triggerFns:
+ // Array of function names to look for in the global namespace.
+ // Any such functions found will be hijacked to trigger a call to
+ // hideAll() any time they are called. The default value is the
+ //
ASP.NET function that validates the controls on the page
+ // prior to a postback.
+ //
+ // Am I missing other important trigger function(s) to look for?
+ // Please leave me feedback:
+ //
http://code.google.com/p/jquery-watermark/issues/list
+ triggerFns = [
+ "Page_ClientValidate"
+ ],
+
+ // Holds a value of true if a watermark was displayed since the last
+ // hideAll() was executed. Avoids repeatedly calling hideAll().
+ pageDirty = false;
+
+// Extends jQuery with a custom selector - ":data(...)"
+// :data(<name>) Includes elements that have a specific name defined in the jQuery
data collection. (Only the existence of the name is checked; the value is ignored.)
+// :data(<name>=<value>) Includes elements that have a specific jQuery data
name defined, with a specific value associated with it.
+// :data(<name>!=<value>) Includes elements that have a specific jQuery data
name defined, with a value that is not equal to the value specified.
+// :data(<name>^=<value>) Includes elements that have a specific jQuery data
name defined, with a value that starts with the value specified.
+// :data(<name>$=<value>) Includes elements that have a specific jQuery data
name defined, with a value that ends with the value specified.
+// :data(<name>*=<value>) Includes elements that have a specific jQuery data
name defined, with a value that contains the value specified.
+$.extend($.expr[":"], {
+ "search": function (elem) {
+ return "search" === (elem.type || "");
+ },
+
+ "data": function (element, index, matches, set) {
+ var data, parts = /^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(matches[3]);
+
+ if (parts) {
+ data = $(element).data(parts[1]);
+
+ if (data !== undefined) {
+
+ if (parts[2]) {
+ data = "" + data;
+
+ switch (parts[2]) {
+ case "=":
+ return (data == parts[3]);
+ case "!=":
+ return (data != parts[3]);
+ case "^=":
+ return (data.slice(0, parts[3].length) == parts[3]);
+ case "$=":
+ return (data.slice(-parts[3].length) == parts[3]);
+ case "*=":
+ return (data.indexOf(parts[3]) !== -1);
+ }
+ }
+
+ return true;
+ }
+ }
+
+ return false;
+ }
+});
+
+$.watermark = {
+
+ // Current version number of the plugin
+ version: "3.0.6",
+
+ // Default options used when watermarks are instantiated.
+ // Can be changed to affect the default behavior for all
+ // new or updated watermarks.
+ // BREAKING CHANGE: The $.watermark.className
+ // property that was present prior to version 3.0.2 must
+ // be changed to $.watermark.options.className
+ options: {
+
+ // Default class name for all watermarks
+ className: "watermark",
+
+ // If true, plugin will detect and use native browser support for
+ // watermarks, if available. (e.g., WebKit's placeholder attribute.)
+ useNative: true
+ },
+
+ // Hide one or more watermarks by specifying any selector type
+ // i.e., DOM element, string selector, jQuery matched set, etc.
+ hide: function (selector) {
+ $(selector).filter(selWatermarkDefined).each(
+ function () {
+ $.watermark._hide($(this));
+ }
+ );
+ },
+
+ // Internal use only.
+ _hide: function ($input, focus) {
+ var inputVal = $input.val() || "",
+ inputWm = $input.data(dataText) || "",
+ maxLen = $input.data(dataMaxLen) || 0,
+ className = $input.data(dataClass);
+
+ if ((inputWm.length) && (inputVal == inputWm)) {
+ $input.val("");
+
+ // Password type?
+ if ($input.data(dataPassword)) {
+
+ if (($input.attr("type") || "") === "text") {
+ var $pwd = $input.data(dataPassword) || [],
+ $wrap = $input.parent() || [];
+
+ if (($pwd.length) && ($wrap.length)) {
+ $wrap[0].removeChild($input[0]); // Can't use jQuery methods, because they
destroy data
+ $wrap[0].appendChild($pwd[0]);
+ $input = $pwd;
+ }
+ }
+ }
+
+ if (maxLen) {
+ $input.attr("maxLength", maxLen);
+ $input.removeData(dataMaxLen);
+ }
+
+ if (focus) {
+ $input.attr("autocomplete", "off"); // Avoid
NS_ERROR_XPC_JS_THREW_STRING error in Firefox
+
+ window.setTimeout(
+ function () {
+ $input.select(); // Fix missing cursor in IE
+ }
+ , 1);
+ }
+ }
+
+ className && $input.removeClass(className);
+ },
+
+ // Display one or more watermarks by specifying any selector type
+ // i.e., DOM element, string selector, jQuery matched set, etc.
+ // If conditions are not right for displaying a watermark, ensures that watermark is not
shown.
+ show: function (selector) {
+ $(selector).filter(selWatermarkDefined).each(
+ function () {
+ $.watermark._show($(this));
+ }
+ );
+ },
+
+ // Internal use only.
+ _show: function ($input) {
+ var val = $input.val() || "",
+ text = $input.data(dataText) || "",
+ type = $input.attr("type") || "",
+ className = $input.data(dataClass);
+
+ if (((val.length == 0) || (val == text)) && (!$input.data(dataFocus))) {
+ pageDirty = true;
+
+ // Password type?
+ if ($input.data(dataPassword)) {
+
+ if (type === "password") {
+ var $pwd = $input.data(dataPassword) || [],
+ $wrap = $input.parent() || [];
+
+ if (($pwd.length) && ($wrap.length)) {
+ $wrap[0].removeChild($input[0]); // Can't use jQuery methods, because they
destroy data
+ $wrap[0].appendChild($pwd[0]);
+ $input = $pwd;
+ $input.attr("maxLength", text.length);
+ }
+ }
+ }
+
+ // Ensure maxLength big enough to hold watermark (input of type="text" or
type="search" only)
+ if ((type === "text") || (type === "search")) {
+ var maxLen = $input.attr("maxLength") || 0;
+
+ if ((maxLen > 0) && (text.length > maxLen)) {
+ $input.data(dataMaxLen, maxLen);
+ $input.attr("maxLength", text.length);
+ }
+ }
+
+ className && $input.addClass(className);
+ $input.val(text);
+ }
+ else {
+ $.watermark._hide($input);
+ }
+ },
+
+ // Hides all watermarks on the current page.
+ hideAll: function () {
+ if (pageDirty) {
+ $.watermark.hide(selWatermarkAble);
+ pageDirty = false;
+ }
+ },
+
+ // Displays all watermarks on the current page.
+ showAll: function () {
+ $.watermark.show(selWatermarkAble);
+ }
+};
+
+$.fn.watermark = function (text, options) {
+ /// <summary>
+ /// Set watermark text and class name on all input elements of
type="text/password/search" and
+ /// textareas within the matched set. If className is not specified in options, the
default is
+ /// "watermark". Within the matched set, only input elements with
type="text/password/search"
+ /// and textareas are affected; all other elements are ignored.
+ /// </summary>
+ /// <returns type="jQuery">
+ /// Returns the original jQuery matched set (not just the input and texarea elements).
+ /// </returns>
+ /// <param name="text" type="String">
+ /// Text to display as a watermark when the input or textarea element has an empty
value and does not
+ /// have focus. The first time watermark() is called on an element, if this argument is
empty (or not
+ /// a String type), then the watermark will have the net effect of only changing the
class name when
+ /// the input or textarea element's value is empty and it does not have focus.
+ /// </param>
+ /// <param name="options" type="Object"
optional="true">
+ /// Provides the ability to override the default watermark options
($.watermark.options). For backward
+ /// compatibility, if a string value is supplied, it is used as the class name that
overrides the class
+ /// name in $.watermark.options.className. Properties include:
+ /// className: When the watermark is visible, the element will be styled using this
class name.
+ /// useNative (Boolean or Function): Specifies if native browser support for
watermarks will supersede
+ /// plugin functionality. If useNative is a function, the return value from the
function will
+ /// determine if native support is used. The function is passed one argument -- a
jQuery object
+ /// containing the element being tested as the only element in its matched set -- and
the DOM
+ /// element being tested is the object on which the function is invoked (the value of
"this").
+ /// </param>
+ /// <remarks>
+ /// The effect of changing the text and class name on an input element is called a
watermark because
+ /// typically light gray text is used to provide a hint as to what type of input is
required. However,
+ /// the appearance of the watermark can be something completely different: simply
change the CSS style
+ /// pertaining to the supplied class name.
+ ///
+ /// The first time watermark() is called on an element, the watermark text and class
name are initialized,
+ /// and the focus and blur events are hooked in order to control the display of the
watermark. Also, as
+ /// of version 3.0, drag and drop events are hooked to guard against dropped text being
appended to the
+ /// watermark. If native watermark support is provided by the browser, it is detected
and used, unless
+ /// the useNative option is set to false.
+ ///
+ /// Subsequently, watermark() can be called again on an element in order to change the
watermark text
+ /// and/or class name, and it can also be called without any arguments in order to
refresh the display.
+ ///
+ /// For example, after changing the value of the input or textarea element
programmatically, watermark()
+ /// should be called without any arguments to refresh the display, because the change
event is only
+ /// triggered by user actions, not by programmatic changes to an input or textarea
element's value.
+ ///
+ /// The one exception to programmatic updates is for password input elements: you are
strongly cautioned
+ /// against changing the value of a password input element programmatically (after the
page loads).
+ /// The reason is that some fairly hairy code is required behind the scenes to make the
watermarks bypass
+ /// IE security and switch back and forth between clear text (for watermarks) and
obscured text (for
+ /// passwords). It is *possible* to make programmatic changes, but it must be done in
a certain way, and
+ /// overall it is not recommended.
+ /// </remarks>
+
+ if (!this.length) {
+ return this;
+ }
+
+ var hasClass = false,
+ hasText = (typeof(text) === "string");
+
+ if (typeof(options) === "object") {
+ hasClass = (typeof(options.className) === "string");
+ options = $.extend({}, $.watermark.options, options);
+ }
+ else if (typeof(options) === "string") {
+ hasClass = true;
+ options = $.extend({}, $.watermark.options, {className: options});
+ }
+ else {
+ options = $.watermark.options;
+ }
+
+ if (typeof(options.useNative) !== "function") {
+ options.useNative = options.useNative? function () { return true; } : function () {
return false; };
+ }
+
+ return this.each(
+ function () {
+ var $input = $(this);
+
+ if (!$input.is(selWatermarkAble)) {
+ return;
+ }
+
+ // Watermark already initialized?
+ if ($input.data(dataFlag)) {
+
+ // If re-defining text or class, first remove existing watermark, then make changes
+ if (hasText || hasClass) {
+ $.watermark._hide($input);
+
+ if (hasText) {
+ $input.data(dataText, text);
+ }
+
+ if (hasClass) {
+ $input.data(dataClass, options.className);
+ }
+ }
+ }
+ else {
+
+ // Detect and use native browser support, if enabled in options
+ if (options.useNative.call(this, $input)) {
+
+ // Placeholder attribute (WebKit)
+ // Big thanks to Opera for the wacky test required
+ if ((("" +
$input.css("-webkit-appearance")).replace("undefined", "")
!== "") && (($input.attr("tagName") || "") !==
"TEXTAREA")) {
+
+ // className is not set because WebKit doesn't appear to have
+ // a separate class name property for placeholders (watermarks).
+ if (hasText) {
+ $input.attr("placeholder", text);
+ }
+
+ // Only set data flag for non-native watermarks (purposely commented-out)
+ // $input.data(dataFlag, 1);
+ return;
+ }
+ }
+
+ $input.data(dataText, hasText? text : "");
+ $input.data(dataClass, options.className);
+ $input.data(dataFlag, 1); // Flag indicates watermark was initialized
+
+ // Special processing for password type
+ if (($input.attr("type") || "") === "password") {
+ var $wrap = $input.wrap("<span>").parent(),
+ $wm = $($wrap.html().replace(/type=["']?password["']?/i,
'type="text"'));
+
+ $wm.data(dataText, $input.data(dataText));
+ $wm.data(dataClass, $input.data(dataClass));
+ $wm.data(dataFlag, 1);
+ $wm.attr("maxLength", text.length);
+
+ $wm.focus(
+ function () {
+ $.watermark._hide($wm, true);
+ }
+ ).bind("dragenter",
+ function () {
+ $.watermark._hide($wm);
+ }
+ ).bind("dragend",
+ function () {
+ window.setTimeout(function () { $wm.blur(); }, 1);
+ }
+ );
+ $input.blur(
+ function () {
+ $.watermark._show($input);
+ }
+ ).bind("dragleave",
+ function () {
+ $.watermark._show($input);
+ }
+ );
+
+ $wm.data(dataPassword, $input);
+ $input.data(dataPassword, $wm);
+ }
+ else {
+
+ $input.focus(
+ function () {
+ $input.data(dataFocus, 1);
+ $.watermark._hide($input, true);
+ }
+ ).blur(
+ function () {
+ $input.data(dataFocus, 0);
+ $.watermark._show($input);
+ }
+ ).bind("dragenter",
+ function () {
+ $.watermark._hide($input);
+ }
+ ).bind("dragleave",
+ function () {
+ $.watermark._show($input);
+ }
+ ).bind("dragend",
+ function () {
+ window.setTimeout(function () { $.watermark._show($input); }, 1);
+ }
+ ).bind("drop",
+ // Firefox makes this lovely function necessary because the dropped text
+ // is merged with the watermark before the drop event is called.
+ function (evt) {
+ var dropText = evt.originalEvent.dataTransfer.getData("Text");
+
+ if ($input.val().replace(dropText, "") === $input.data(dataText)) {
+ $input.val(dropText);
+ }
+
+ $input.focus();
+ }
+ );
+ }
+
+ // In order to reliably clear all watermarks before form submission,
+ // we need to replace the form's submit function with our own
+ // function. Otherwise watermarks won't be cleared when the form
+ // is submitted programmatically.
+ if (this.form) {
+ var form = this.form,
+ $form = $(form);
+
+ if (!$form.data(dataFormSubmit)) {
+ $form.submit($.watermark.hideAll);
+
+ // form.submit exists for all browsers except Google Chrome
+ // (see "else" below for explanation)
+ if (form.submit) {
+ $form.data(dataFormSubmit, form.submit);
+
+ form.submit = (function (f, $f) {
+ return function () {
+ var nativeSubmit = $f.data(dataFormSubmit);
+
+ $.watermark.hideAll();
+
+ if (nativeSubmit.apply) {
+ nativeSubmit.apply(f, Array.prototype.slice.call(arguments));
+ }
+ else {
+ nativeSubmit();
+ }
+ };
+ })(form, $form);
+ }
+ else {
+ $form.data(dataFormSubmit, 1);
+
+ // This strangeness is due to the fact that Google Chrome's
+ // form.submit function is not visible to JavaScript (identifies
+ // as "undefined"). I had to invent a solution here because hours
+ // of Googling (ironically) for an answer did not turn up anything
+ // useful. Within my own form.submit function I delete the form's
+ // submit function, and then call the non-existent function --
+ // which, in the world of Google Chrome, still exists.
+ form.submit = (function (f) {
+ return function () {
+ $.watermark.hideAll();
+ delete f.submit;
+ f.submit();
+ };
+ })(form);
+ }
+ }
+ }
+ }
+
+ $.watermark._show($input);
+ }
+ );
+};
+
+// Hijack any functions found in the triggerFns list
+if (triggerFns.length) {
+
+ // Wait until DOM is ready before searching
+ $(function () {
+ var i, name, fn;
+
+ for (i=triggerFns.length-1; i>=0; i--) {
+ name = triggerFns[i];
+ fn = window[name];
+
+ if (typeof(fn) === "function") {
+ window[name] = (function (origFn) {
+ return function () {
+ $.watermark.hideAll();
+ return origFn.apply(null, Array.prototype.slice.call(arguments));
+ };
+ })(fn);
+ }
+ }
+ });
+}
+
+})(jQuery);
Added:
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/richfaces.watermark.js
===================================================================
---
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/richfaces.watermark.js
(rev 0)
+++
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/richfaces.watermark.js 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,32 @@
+(function ($, rf) {
+ // Create (for example) ui container for our component class
+ rf.ui = rf.ui || {};
+ // Default options definition if needed for the component
+ var defaultOptions = {};
+ // Extending component class with new properties and methods using extendClass
+ // $super - reference to the parent prototype, will be available inside those
methods
+ rf.ui.Watermark = rf.BaseComponent.extendClass({
+ // class name
+ name:"Watermark",
+ init: function (componentId, options) {
+ // call constructor of parent class if needed
+ $super.constructor.call(this, componentId);
+ // attach component object to DOM element for
+ // future cleaning and for client side API calls
+ this.attachToDom(this.id);
+ jQuery(function() {
+ options.className = options['styleClass'];
+ jQuery(document.getElementById(options.targetId)).watermark(options.text,
options);
+ });
+ },
+ // destructor definition
+ destroy: function () {
+ // define destructor if additional cleaning is needed but
+ // in most cases its not nessesary.
+ // call parent’s destructor
+ $super.destroy.call(this);
+ }
+ });
+ // define super class reference - reference to the parent prototype
+ var $super = rf.ui.Watermark.$super;
+})(jQuery, RichFaces);
\ No newline at end of file
Property changes on:
sandbox/trunk/ui/watermark/ui/src/main/resources/META-INF/resources/richfaces.watermark.js
___________________________________________________________________
Added: svn:executable
+
Added: sandbox/trunk/ui/watermark/ui/src/main/templates/README
===================================================================
Added:
sandbox/trunk/ui/watermark/ui/src/main/templates/org/richfaces/watermark.template.xml
===================================================================
--- sandbox/trunk/ui/watermark/ui/src/main/templates/org/richfaces/watermark.template.xml
(rev 0)
+++
sandbox/trunk/ui/watermark/ui/src/main/templates/org/richfaces/watermark.template.xml 2011-04-14
19:34:56 UTC (rev 22422)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<cdk:root
xmlns="http://jboss.org/schema/richfaces/cdk/xhtml-el"
xmlns:cdk="http://jboss.org/schema/richfaces/cdk/core"
+
xmlns:c="http://jboss.org/schema/richfaces/cdk/jstl/core"
xmlns:cc="http://jboss.org/schema/richfaces/cdk/jsf/composite">
+
+ <cc:interface>
+
<cdk:class>org.richfaces.renderkit.html.WatermarkRenderer</cdk:class>
+
<cdk:superclass>org.richfaces.renderkit.WatermarkRendererBase</cdk:superclass>
+ <cdk:component-family>org.richfaces.Watermark</cdk:component-family>
+
<cdk:renderer-type>org.richfaces.WatermarkRenderer</cdk:renderer-type>
+ </cc:interface>
+
+ <cc:implementation>
+ <script id="#{clientId}" type="text/javascript">
+ <cdk:call
expression="writeInitFunction(facesContext,component)"/>
+ </script>
+ </cc:implementation>
+
+</cdk:root>
\ No newline at end of file
Added: sandbox/trunk/ui/watermark/ui/watermark.iml
===================================================================
--- sandbox/trunk/ui/watermark/ui/watermark.iml (rev 0)
+++ sandbox/trunk/ui/watermark/ui/watermark.iml 2011-04-14 19:34:56 UTC (rev 22422)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module
org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true"
type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5"
inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/main"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java"
isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/resources"
isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/target/classes" />
+ <excludeFolder url="file://$MODULE_DIR$/target/maven-archiver" />
+ <excludeFolder url="file://$MODULE_DIR$/target/test-classes" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
org.richfaces.ui.core:richfaces-ui-core-ui:4.1.0-SNAPSHOT" level="project"
/>
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
org.richfaces.core:richfaces-core-api:4.1.0-SNAPSHOT" level="project"
/>
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
com.google.guava:guava:r08" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
org.richfaces.ui.common:richfaces-ui-common-ui:4.1.0-SNAPSHOT"
level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
org.richfaces.ui.common:richfaces-ui-common-api:4.1.0-SNAPSHOT"
level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
org.richfaces.ui.core:richfaces-ui-core-api:4.1.0-SNAPSHOT" level="project"
/>
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
org.richfaces.cdk:annotations:4.1.0-SNAPSHOT" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
javax.el:el-api:1.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
org.jboss.test-jsf:jsf-test-stage:1.0.6" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
org.jboss.el:jboss-el:1.0_02.CR5" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
javax.servlet:servlet-api:2.5" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
javax.servlet.jsp:jsp-api:2.1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
javax.annotation:jsr250-api:1.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
junit:junit:4.7" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
com.sun.faces:jsf-api:2.0.4-b09" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
com.sun.faces:jsf-impl:2.0.4-b09" level="project" />
+ </component>
+</module>
+
Added: sandbox/trunk/ui/watermark/watermark-aggregator.iml
===================================================================
--- sandbox/trunk/ui/watermark/watermark-aggregator.iml (rev 0)
+++ sandbox/trunk/ui/watermark/watermark-aggregator.iml 2011-04-14 19:34:56 UTC (rev
22422)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module
org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true"
type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5"
inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven:
com.sun.faces:jsf-api:2.0.4-b09" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven:
com.sun.faces:jsf-impl:2.0.4-b09" level="project" />
+ </component>
+</module>
+
Added: sandbox/trunk/ui/watermark/watermark-aggregator.ipr
===================================================================
--- sandbox/trunk/ui/watermark/watermark-aggregator.ipr (rev 0)
+++ sandbox/trunk/ui/watermark/watermark-aggregator.ipr 2011-04-14 19:34:56 UTC (rev
22422)
@@ -0,0 +1,490 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="AntConfiguration">
+ <defaultAnt bundledAnt="true" />
+ </component>
+ <component name="ArtifactManager">
+ <artifact type="war" name="watermark-demo:war">
+ <output-path>$PROJECT_DIR$/demo/target</output-path>
+ <root id="archive" name="watermark-demo.war">
+ <element id="artifact" artifact-name="watermark-demo:war
exploded" />
+ </root>
+ </artifact>
+ <artifact type="exploded-war" name="watermark-demo:war
exploded">
+ <output-path>$PROJECT_DIR$/demo/target/watermark-demo</output-path>
+ <root id="root">
+ <element id="javaee-facet-resources"
facet="watermark-demo/web/Web" />
+ <element id="directory" name="WEB-INF">
+ <element id="directory" name="classes">
+ <element id="module-output" name="watermark-demo"
/>
+ </element>
+ <element id="directory" name="lib">
+ <element id="library" level="project"
name="Maven: org.richfaces.ui:richfaces-components-ui:4.1.0-SNAPSHOT" />
+ <element id="library" level="project"
name="Maven: org.richfaces.ui:richfaces-components-api:4.1.0-SNAPSHOT" />
+ <element id="library" level="project"
name="Maven: org.richfaces.core:richfaces-core-api:4.1.0-SNAPSHOT" />
+ <element id="library" level="project"
name="Maven: com.google.guava:guava:r08" />
+ <element id="library" level="project"
name="Maven: org.richfaces.core:richfaces-core-impl:4.1.0-SNAPSHOT" />
+ <element id="library" level="project"
name="Maven: net.sourceforge.cssparser:cssparser:0.9.5" />
+ <element id="library" level="project"
name="Maven: org.w3c.css:sac:1.3" />
+ <element id="archive"
name="watermark-4.1.0-SNAPSHOT.jar">
+ <element id="module-output" name="watermark" />
+ </element>
+ <element id="library" level="project"
name="Maven: com.sun.faces:jsf-api:2.0.4-b09" />
+ <element id="library" level="project"
name="Maven: com.sun.faces:jsf-impl:2.0.4-b09" />
+ <element id="library" level="project"
name="Maven: com.sun.el:el-ri:1.0" />
+ </element>
+ </element>
+ </root>
+ </artifact>
+ </component>
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac" />
+ <resourceExtensions>
+ <entry name=".+\.(properties|xml|html|dtd|tld)" />
+ <entry name=".+\.(gif|png|jpeg|jpg)" />
+ </resourceExtensions>
+ <wildcardResourcePatterns>
+ <entry name="?*.properties" />
+ <entry name="?*.xml" />
+ <entry name="?*.gif" />
+ <entry name="?*.png" />
+ <entry name="?*.jpeg" />
+ <entry name="?*.jpg" />
+ <entry name="?*.html" />
+ <entry name="?*.dtd" />
+ <entry name="?*.tld" />
+ <entry name="?*.ftl" />
+ </wildcardResourcePatterns>
+ <annotationProcessing enabled="false" useClasspath="true"
/>
+ </component>
+ <component name="CopyrightManager" default="">
+ <module2copyright />
+ </component>
+ <component name="DependencyValidationManager">
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </component>
+ <component name="Encoding" useUTFGuessing="true"
native2AsciiForPropertiesFiles="false" />
+ <component name="FacetAutodetectingManager">
+ <autodetection-disabled>
+ <facet-type id="web">
+ <modules>
+ <module name="watermark-demo" />
+ </modules>
+ </facet-type>
+ </autodetection-disabled>
+ </component>
+ <component name="JavacSettings">
+ <option name="ADDITIONAL_OPTIONS_STRING" value="-target 1.5"
/>
+ </component>
+ <component name="JavadocGenerationManager">
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="OPTION_SCOPE" value="protected" />
+ <option name="OPTION_HIERARCHY" value="true" />
+ <option name="OPTION_NAVIGATOR" value="true" />
+ <option name="OPTION_INDEX" value="true" />
+ <option name="OPTION_SEPARATE_INDEX" value="true" />
+ <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_VERSION" value="false"
/>
+ <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true"
/>
+ <option name="OPTION_DEPRECATED_LIST" value="true" />
+ <option name="OTHER_OPTIONS" value="" />
+ <option name="HEAP_SIZE" />
+ <option name="LOCALE" />
+ <option name="OPEN_IN_BROWSER" value="true" />
+ </component>
+ <component name="JsfProjectComponent">
+ <option name="faceletsSupport" value="ENABLED" />
+ </component>
+ <component name="MavenProjectsManager">
+ <option name="originalFiles">
+ <list>
+ <option value="$PROJECT_DIR$/pom.xml" />
+ </list>
+ </option>
+ </component>
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer"
tooltip-text="Horizontal Spacer"
icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false"
auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6"
anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer"
tooltip-text="Vertical Spacer"
icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false"
auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1"
anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel"
icon="/com/intellij/uiDesigner/icons/panel.png" removable="false"
auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3"
anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane"
icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false"
auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7"
anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton"
icon="/com/intellij/uiDesigner/icons/button.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3"
anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton"
icon="/com/intellij/uiDesigner/icons/radioButton.png"
removable="false" auto-create-binding="true"
can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox"
icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel"
icon="/com/intellij/uiDesigner/icons/label.png" removable="false"
auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField"
icon="/com/intellij/uiDesigner/icons/textField.png" removable="false"
auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6"
anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField"
icon="/com/intellij/uiDesigner/icons/passwordField.png"
removable="false" auto-create-binding="true"
can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6"
anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField"
icon="/com/intellij/uiDesigner/icons/formattedTextField.png"
removable="false" auto-create-binding="true"
can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6"
anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea"
icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false"
auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6"
anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane"
icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false"
auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6"
anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane"
icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false"
auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6"
anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox"
icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false"
auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2"
anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable"
icon="/com/intellij/uiDesigner/icons/table.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6"
anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList"
icon="/com/intellij/uiDesigner/icons/list.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2"
anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree"
icon="/com/intellij/uiDesigner/icons/tree.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6"
anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane"
icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3"
anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane"
icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false"
auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3"
anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner"
icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false"
auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider"
icon="/com/intellij/uiDesigner/icons/slider.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator"
icon="/com/intellij/uiDesigner/icons/separator.png" removable="false"
auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6"
anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar"
icon="/com/intellij/uiDesigner/icons/progressbar.png"
removable="false" auto-create-binding="true"
can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6"
anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar"
icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false"
auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6"
anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator"
icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png"
removable="false" auto-create-binding="false"
can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0"
anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar"
icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false"
auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0"
anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/ui/watermark.iml"
filepath="$PROJECT_DIR$/ui/watermark.iml" />
+ <module fileurl="file://$PROJECT_DIR$/watermark-aggregator.iml"
filepath="$PROJECT_DIR$/watermark-aggregator.iml" />
+ <module fileurl="file://$PROJECT_DIR$/bom/watermark-bom.iml"
filepath="$PROJECT_DIR$/bom/watermark-bom.iml" />
+ <module fileurl="file://$PROJECT_DIR$/demo/watermark-demo.iml"
filepath="$PROJECT_DIR$/demo/watermark-demo.iml" />
+ <module fileurl="file://$PROJECT_DIR$/parent/watermark-parent.iml"
filepath="$PROJECT_DIR$/parent/watermark-parent.iml" />
+ </modules>
+ </component>
+ <component name="ProjectRootManager" version="2"
languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true"
project-jdk-name="1.6" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/classes" />
+ </component>
+ <component name="SvnBranchConfigurationManager">
+ <option name="mySupportsUserInfoFilter" value="true" />
+ </component>
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="" />
+ </component>
+ <component name="libraryTable">
+ <library name="Maven: com.sun.faces:jsf-api:2.0.4-b09">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/faces/jsf-api/2.0.4-b09/jsf-api-2.0.4-b09.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/faces/jsf-api/2.0.4-b09/jsf-api-2.0.4-b09-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/faces/jsf-api/2.0.4-b09/jsf-api-2.0.4-b09-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: com.sun.faces:jsf-impl:2.0.4-b09">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/faces/jsf-impl/2.0.4-b09/jsf-impl-2.0.4-b09.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/faces/jsf-impl/2.0.4-b09/jsf-impl-2.0.4-b09-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/faces/jsf-impl/2.0.4-b09/jsf-impl-2.0.4-b09-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.core:richfaces-core-api:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/core/richfaces-core-api/4.1.0-SNAPSHOT/richfaces-core-api-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/core/richfaces-core-api/4.1.0-SNAPSHOT/richfaces-core-api-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/core/richfaces-core-api/4.1.0-SNAPSHOT/richfaces-core-api-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: com.google.guava:guava:r08">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/r08/guava-r08.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/r08/guava-r08-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/r08/guava-r08-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.core:richfaces-core-impl:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/core/richfaces-core-impl/4.1.0-SNAPSHOT/richfaces-core-impl-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/core/richfaces-core-impl/4.1.0-SNAPSHOT/richfaces-core-impl-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/core/richfaces-core-impl/4.1.0-SNAPSHOT/richfaces-core-impl-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: net.sourceforge.cssparser:cssparser:0.9.5">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: org.w3c.css:sac:1.3">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/w3c/css/sac/1.3/sac-1.3.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/w3c/css/sac/1.3/sac-1.3-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/w3c/css/sac/1.3/sac-1.3-sources.jar!/" />
+ </SOURCES>
+ </library>
+ <library name="Maven: com.sun.el:el-ri:1.0">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/el/el-ri/1.0/el-ri-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/el/el-ri/1.0/el-ri-1.0-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/sun/el/el-ri/1.0/el-ri-1.0-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: org.richfaces.cdk:annotations:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/cdk/annotations/4.1.0-SNAPSHOT/annotations-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/cdk/annotations/4.1.0-SNAPSHOT/annotations-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/cdk/annotations/4.1.0-SNAPSHOT/annotations-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: javax.servlet:servlet-api:2.5">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/servlet/servlet-api/2.5/servlet-api-2.5-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: javax.servlet.jsp:jsp-api:2.1">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: javax.el:el-api:1.0">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/el/el-api/1.0/el-api-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/el/el-api/1.0/el-api-1.0-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/el/el-api/1.0/el-api-1.0-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: org.jboss.test-jsf:jsf-test-stage:1.0.6">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/test-jsf/jsf-test-stage/1.0.6/jsf-test-stage-1.0.6.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/test-jsf/jsf-test-stage/1.0.6/jsf-test-stage-1.0.6-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/test-jsf/jsf-test-stage/1.0.6/jsf-test-stage-1.0.6-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: org.jboss.el:jboss-el:1.0_02.CR5">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/el/jboss-el/1.0_02.CR5/jboss-el-1.0_02.CR5.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/el/jboss-el/1.0_02.CR5/jboss-el-1.0_02.CR5-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/el/jboss-el/1.0_02.CR5/jboss-el-1.0_02.CR5-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: javax.annotation:jsr250-api:1.0">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/annotation/jsr250-api/1.0/jsr250-api-1.0-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/annotation/jsr250-api/1.0/jsr250-api-1.0-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven: junit:junit:4.7">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.7/junit-4.7.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/junit/junit/4.7/junit-4.7-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/junit/junit/4.7/junit-4.7-sources.jar!/" />
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.ui:richfaces-components-ui:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/richfaces-components-ui/4.1.0-SNAPSHOT/richfaces-components-ui-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/richfaces-components-ui/4.1.0-SNAPSHOT/richfaces-components-ui-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/richfaces-components-ui/4.1.0-SNAPSHOT/richfaces-components-ui-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.ui:richfaces-components-api:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/richfaces-components-api/4.1.0-SNAPSHOT/richfaces-components-api-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/richfaces-components-api/4.1.0-SNAPSHOT/richfaces-components-api-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/richfaces-components-api/4.1.0-SNAPSHOT/richfaces-components-api-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.ui.core:richfaces-ui-core-ui:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/core/richfaces-ui-core-ui/4.1.0-SNAPSHOT/richfaces-ui-core-ui-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/core/richfaces-ui-core-ui/4.1.0-SNAPSHOT/richfaces-ui-core-ui-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/core/richfaces-ui-core-ui/4.1.0-SNAPSHOT/richfaces-ui-core-ui-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.ui.common:richfaces-ui-common-ui:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/common/richfaces-ui-common-ui/4.1.0-SNAPSHOT/richfaces-ui-common-ui-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/common/richfaces-ui-common-ui/4.1.0-SNAPSHOT/richfaces-ui-common-ui-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/common/richfaces-ui-common-ui/4.1.0-SNAPSHOT/richfaces-ui-common-ui-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.ui.common:richfaces-ui-common-api:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/common/richfaces-ui-common-api/4.1.0-SNAPSHOT/richfaces-ui-common-api-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/common/richfaces-ui-common-api/4.1.0-SNAPSHOT/richfaces-ui-common-api-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/common/richfaces-ui-common-api/4.1.0-SNAPSHOT/richfaces-ui-common-api-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ <library name="Maven:
org.richfaces.ui.core:richfaces-ui-core-api:4.1.0-SNAPSHOT">
+ <CLASSES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/core/richfaces-ui-core-api/4.1.0-SNAPSHOT/richfaces-ui-core-api-4.1.0-SNAPSHOT.jar!/"
/>
+ </CLASSES>
+ <JAVADOC>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/core/richfaces-ui-core-api/4.1.0-SNAPSHOT/richfaces-ui-core-api-4.1.0-SNAPSHOT-javadoc.jar!/"
/>
+ </JAVADOC>
+ <SOURCES>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/richfaces/ui/core/richfaces-ui-core-api/4.1.0-SNAPSHOT/richfaces-ui-core-api-4.1.0-SNAPSHOT-sources.jar!/"
/>
+ </SOURCES>
+ </library>
+ </component>
+</project>
+