[richfaces-svn-commits] JBoss Rich Faces SVN: r1419 - in branches/refactor1: framework/api/src/main/java/org/ajax4jsf/framework/resource and 8 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Jun 29 14:13:40 EDT 2007


Author: alexsmirnov
Date: 2007-06-29 14:13:40 -0400 (Fri, 29 Jun 2007)
New Revision: 1419

Added:
   branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/resource/ResourceComponent.java
   branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java
   branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/resource/UserResource.java
Removed:
   branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java
   branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/resource/ResourceComponent.java
   branches/refactor1/ui/core/src/main/java/org/ajax4jsf/framework/resource/UserResource.java
Modified:
   branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/ajax/AjaxContext.java
   branches/refactor1/framework/impl/pom.xml
   branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/ajax/AjaxViewRoot.java
   branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxChildrenRenderer.java
   branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxRendererUtils.java
Log:
continue refactoring.

Modified: branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/ajax/AjaxContext.java
===================================================================
--- branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/ajax/AjaxContext.java	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/ajax/AjaxContext.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -111,4 +111,13 @@
 
 	public abstract Map getResponseDataMap();
 
+	public abstract void setAjaxRequest(boolean b);
+
+	public abstract boolean isSelfRender();
+
+	public abstract void setSelfRender(boolean b);
+
+	public abstract String getSubmittedRegionClientId(FacesContext context);
+
+	public abstract void saveViewState(FacesContext context) throws IOException;
 }
\ No newline at end of file

Copied: branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/resource/ResourceComponent.java (from rev 1396, branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/resource/ResourceComponent.java)
===================================================================
--- branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/resource/ResourceComponent.java	                        (rev 0)
+++ branches/refactor1/framework/api/src/main/java/org/ajax4jsf/framework/resource/ResourceComponent.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -0,0 +1,121 @@
+/**
+ * License Agreement.
+ *
+ * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library 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 library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.ajax4jsf.ajax.resource;
+
+import java.util.Date;
+
+import javax.faces.el.MethodBinding;
+
+/**
+ * @author shura (latest modification by $Author: alexsmirnov $)
+ * @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:58:13 $
+ *
+ */
+public interface ResourceComponent {
+	
+	/**
+	 * Get Mime-type for target .
+	 * @return
+	 */
+	public abstract String getMimeType();
+
+	/**
+	 * Set Mime-type for target .
+	 * @param newvalue
+	 */
+	public abstract void setMimeType(String newvalue);
+	
+
+	/**
+	 * Get Last modified date  for target .
+	 * @return
+	 */
+	public abstract Date getLastModified();
+
+	/**
+	 * Set Last modified for target .
+	 * @param newvalue
+	 */
+	public abstract void setLastModified(Date newvalue);
+	
+	
+	/**
+	 * Get Expiration time for target .
+	 * @return
+	 */
+	public abstract Date getExpires();
+
+	/**
+	 * Set Expiration time for target .
+	 * @param newvalue
+	 */
+	public abstract void setExpires(Date newvalue);
+	
+	
+	/**
+	 * Get caching flag for resource.
+	 * @return
+	 */
+	public abstract boolean isCacheable();
+
+	/**
+	 * Set caching flag for resource.
+	 * @param newvalue
+	 */
+	public abstract void setCacheable(boolean newvalue);
+	
+	/**
+	 * Get session-avare flag for resource.
+	 * @return true if resource depend of client session. If false, no JSESSIONID encoded in URI
+	 */
+	public abstract boolean isSession();
+
+	/**
+	 * Set session-avare flag for resource.
+	 * @param newvalue
+	 */
+	public abstract void setSession(boolean newvalue);
+	
+	/**
+	 * Get Data object, encoded in uri and passed to "send" method for generate resource content.
+	 * @return
+	 */
+	public abstract Object getValue();
+
+	/**
+	 * Set Data object, encoded in uri and passed to "send" method for generate resource content.
+	 * @param newvalue
+	 */
+	public abstract void setValue(Object newvalue);
+	
+	/**
+	 * Get El binding to  method in user bean to send resource. Method will called with two parameters - restored data object and servlet output stream.
+	 * @return
+	 */
+	public abstract MethodBinding getCreateContent();
+
+	/**
+	 * Set El binding to  method in user bean to send resource. Method will called with two parameters - restored data object and servlet output stream.
+	 * @param newvalue
+	 */
+	public abstract void setCreateContent(MethodBinding newvalue);
+}

Modified: branches/refactor1/framework/impl/pom.xml
===================================================================
--- branches/refactor1/framework/impl/pom.xml	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/framework/impl/pom.xml	2007-06-29 18:13:40 UTC (rev 1419)
@@ -1,299 +1,292 @@
-<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/maven-v4_0_0.xsd">
-	<parent>
-		<artifactId>framework</artifactId>
-		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.richfaces.framework</groupId>
-	<artifactId>impl</artifactId>
-	<name>Java Server Faces AJAX framework implementation</name>
-	<properties>
-		<jsfVersion>1.1</jsfVersion>
-	</properties>
-	<build>
-		<resources>
-			<resource>
-				<directory>src/main/resources</directory>
-			</resource>
-			<resource>
-				<directory>target/javascript</directory>
-			</resource>
-		</resources>
-		<plugins>
-			<plugin>
-				<artifactId>maven-antrun-plugin</artifactId>
-				<executions>
-					<execution>
-						<phase>generate-resources</phase>
-						<goals>
-							<goal>run</goal>
-						</goals>
-						<configuration>
-							<tasks>
-								<ant antfile="${basedir}/generatescript.xml" inheritRefs="true">
-									<target name="assembly" />
-									<property name="target-dir" value="${project.build.directory}/javascript">
-									</property>
-								</ant>
-							</tasks>
-							<resourceRoot>
-								${project.build.directory}/javascript
-							</resourceRoot>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<artifactId>maven-source-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>attach-source</id>
-						<goals>
-							<goal>jar</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-      <plugin>
-      	<!-- temporary solution, until maven-antlr-plugin will not become mature -->
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>generate-sources</phase>
-            <configuration>
-              <tasks>
-                <java classname="org.antlr.Tool"
-                      classpathref="maven.plugin.classpath"
-				      fork="true"
-				      dir="src/main/antlr">
-					<arg value="RichMacroDefinition.g"/>
-					<arg line="-o ${project.build.directory}/generated-sources/antlr/org/richfaces"/>
-				</java>
-              </tasks>
-	      <sourceRoot>${project.build.directory}/generated-sources/antlr</sourceRoot>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-        <dependencies>
-          <dependency>
-            <groupId>org.antlr</groupId>
-            <artifactId>antlr</artifactId>
-            <version>3.0</version>
-            <scope>compile</scope>
-          </dependency>
-        </dependencies>
-      </plugin>
-		</plugins>
-	</build>
-	<dependencies>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>opensymphony</groupId>
-			<artifactId>oscache</artifactId>
-			<version>2.3</version>
-			<optional>true</optional>
-		</dependency>
-		<dependency>
-			<groupId>com.sun.facelets</groupId>
-			<artifactId>jsf-facelets</artifactId>
-			<version>1.1.11</version>
-			<optional>true</optional>
-		</dependency>
-		<dependency>
-			<groupId>javax.el</groupId>
-			<artifactId>el-api</artifactId>
-			<version>1.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>nekohtml</groupId>
-			<artifactId>nekohtml</artifactId>
-			<version>0.9.5</version>
-			<optional>true</optional>
-		</dependency>
-		<dependency>
-			<groupId>commons-logging</groupId>
-			<artifactId>commons-logging</artifactId>
-			<version>1.0.4</version>
-		</dependency>
-		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>1.2.14</version>
-			<optional>true</optional>
-		</dependency>
-		<dependency>
-			<groupId>commons-beanutils</groupId>
-			<artifactId>commons-beanutils</artifactId>
-			<version>1.7.0</version>
-		</dependency>
-		<dependency>
-			<groupId>commons-digester</groupId>
-			<artifactId>commons-digester</artifactId>
-			<version>1.8</version>
-		</dependency>
-		<dependency>
-			<groupId>commons-collections</groupId>
-			<artifactId>commons-collections</artifactId>
-			<version>3.2</version>
-		</dependency>
-		<dependency>
-			<groupId>org.richfaces.framework</groupId>
-			<artifactId>api</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-	</dependencies>
-	<profiles>
-		<profile>
-			<id>jsf1_1</id>
-			<activation>
-				<activeByDefault>true</activeByDefault>
-				<property>
-					<name>jsfVersion</name>
-					<value>1.1</value>
-				</property>
-			</activation>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-						<artifactId>maven-compiler-plugin</artifactId>
-						<configuration>
-							<source>1.4</source>
-							<target>1.4</target>
-						</configuration>
-					</plugin>
-				</plugins>
-			</build>
-			<dependencies>
-				<dependency>
-					<groupId>javax.servlet</groupId>
-					<artifactId>servlet-api</artifactId>
-					<version>2.4</version>
-					<scope>provided</scope>
-				</dependency>
-				<dependency>
-					<groupId>javax.servlet</groupId>
-					<artifactId>jsp-api</artifactId>
-					<version>2.0</version>
-					<scope>provided</scope>
-				</dependency>
-				<dependency>
-					<groupId>javax.faces</groupId>
-					<artifactId>jsf-api</artifactId>
-					<version>1.1_02</version>
-					<exclusions>
-						<!-- No longer presented in any repo -->
-						<exclusion>
-							<groupId>javax.servlet.jsp</groupId>
-							<artifactId>jsp-api</artifactId>
-						</exclusion>
-						<exclusion>
-							<groupId>javax.servlet.jsp.jstl</groupId>
-							<artifactId>jstl</artifactId>
-						</exclusion>
-					</exclusions>
-				</dependency>
-				<dependency>
-					<groupId>javax.faces</groupId>
-					<artifactId>jsf-impl</artifactId>
-					<version>1.1_02</version>
-					<scope>runtime</scope>
-					<exclusions>
-						<!-- No longer presented in any repo -->
-						<exclusion>
-							<groupId>javax.servlet.jsp</groupId>
-							<artifactId>jsp-api</artifactId>
-						</exclusion>
-						<exclusion>
-							<groupId>javax.servlet.jsp.jstl</groupId>
-							<artifactId>jstl</artifactId>
-						</exclusion>
-					</exclusions>
-				</dependency>
-				<dependency>
-					<groupId>javax.servlet</groupId>
-					<artifactId>jstl</artifactId>
-					<version>1.0</version>
-				</dependency>
-			</dependencies>
-		</profile>
-		<profile>
-			<id>jsf1_2</id>
-			<activation>
-				<property>
-					<name>jsfVersion</name>
-					<value>1.2</value>
-				</property>
-			</activation>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-						<artifactId>maven-compiler-plugin</artifactId>
-						<version>2.0</version>
-						<configuration>
-							<source>1.5</source>
-							<target>1.5</target>
-						</configuration>
-					</plugin>
-					<!-- append JSF 1.2 related sources -->
-					<plugin>
-						<groupId>org.codehaus.mojo</groupId>
-						<artifactId>
-							build-helper-maven-plugin
-						</artifactId>
-						<executions>
-							<execution>
-								<id>add-source</id>
-								<phase>process-sources</phase>
-								<goals>
-									<goal>add-source</goal>
-								</goals>
-								<configuration>
-									<sources>
-										<source>src/main/jsf12</source>
-									</sources>
-								</configuration>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-			<dependencies>
-				<dependency>
-					<groupId>javax.servlet</groupId>
-					<artifactId>servlet-api</artifactId>
-					<version>2.5</version>
-					<scope>provided</scope>
-				</dependency>
-				<dependency>
-					<groupId>javax.servlet.jsp</groupId>
-					<artifactId>jsp-api</artifactId>
-					<version>2.1</version>
-					<scope>provided</scope>
-				</dependency>
-				<dependency>
-					<groupId>javax.faces</groupId>
-					<artifactId>jsf-api</artifactId>
-					<version>1.2_03</version>
-				</dependency>
-				<dependency>
-					<groupId>javax.faces</groupId>
-					<artifactId>jsf-impl</artifactId>
-					<version>1.2_03</version>
-					<scope>runtime</scope>
-				</dependency>
-			</dependencies>
-		</profile>
-	</profiles>
-</project>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<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/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>framework</artifactId>
+    <groupId>org.richfaces</groupId>
+    <version>3.1.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.richfaces.framework</groupId>
+  <artifactId>impl</artifactId>
+  <name>Java Server Faces AJAX framework implementation</name>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+      </resource>
+      <resource>
+        <directory>target/javascript</directory>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <tasks>
+                <ant>
+                  <target />
+                  <property />
+                </ant>
+              </tasks>
+              <resourceRoot>${project.build.directory}/javascript</resourceRoot>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-source-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>attach-source</id>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <tasks>
+                <java>
+                  <arg />
+                  <arg />
+                </java>
+              </tasks>
+              <sourceRoot>${project.build.directory}/generated-sources/antlr</sourceRoot>
+            </configuration>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <groupId>org.antlr</groupId>
+            <artifactId>antlr</artifactId>
+            <version>3.0</version>
+            <scope>compile</scope>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+  <profiles>
+    <profile>
+      <id>jsf1_1</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+        <property>
+          <name>jsfVersion</name>
+          <value>1.1</value>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+              <source>1.4</source>
+              <target>1.4</target>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <dependencies>
+        <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+          <version>2.4</version>
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>jsp-api</artifactId>
+          <version>2.0</version>
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-api</artifactId>
+          <version>1.1_02</version>
+          <exclusions>
+            <exclusion>
+              <artifactId>jsp-api</artifactId>
+              <groupId>javax.servlet.jsp</groupId>
+            </exclusion>
+            <exclusion>
+              <artifactId>jstl</artifactId>
+              <groupId>javax.servlet.jsp.jstl</groupId>
+            </exclusion>
+          </exclusions>
+        </dependency>
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-impl</artifactId>
+          <version>1.1_02</version>
+          <scope>runtime</scope>
+          <exclusions>
+            <exclusion>
+              <artifactId>jsp-api</artifactId>
+              <groupId>javax.servlet.jsp</groupId>
+            </exclusion>
+            <exclusion>
+              <artifactId>jstl</artifactId>
+              <groupId>javax.servlet.jsp.jstl</groupId>
+            </exclusion>
+          </exclusions>
+        </dependency>
+        <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>jstl</artifactId>
+          <version>1.0</version>
+        </dependency>
+      </dependencies>
+    </profile>
+    <profile>
+      <id>jsf1_2</id>
+      <activation>
+        <property>
+          <name>jsfVersion</name>
+          <value>1.2</value>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <version>2.0</version>
+            <configuration>
+              <source>1.5</source>
+              <target>1.5</target>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>add-source</id>
+                <phase>process-sources</phase>
+                <goals>
+                  <goal>add-source</goal>
+                </goals>
+                <configuration>
+                  <sources>
+                    <source>src/main/jsf12</source>
+                  </sources>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+      <dependencies>
+        <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+          <version>2.5</version>
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>javax.servlet.jsp</groupId>
+          <artifactId>jsp-api</artifactId>
+          <version>2.1</version>
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-api</artifactId>
+          <version>1.2_03</version>
+        </dependency>
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-impl</artifactId>
+          <version>1.2_03</version>
+          <scope>runtime</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>opensymphony</groupId>
+      <artifactId>oscache</artifactId>
+      <version>2.3</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.facelets</groupId>
+      <artifactId>jsf-facelets</artifactId>
+      <version>1.1.11</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>javax.el</groupId>
+      <artifactId>el-api</artifactId>
+      <version>1.0</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>nekohtml</groupId>
+      <artifactId>nekohtml</artifactId>
+      <version>0.9.5</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.14</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+      <version>1.7.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-digester</groupId>
+      <artifactId>commons-digester</artifactId>
+      <version>1.8</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.richfaces.framework</groupId>
+      <artifactId>api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.antlr</groupId>
+      <artifactId>antlr</artifactId>
+      <version>3.0</version>
+    </dependency>
+  </dependencies>
+  <properties>
+    <jsfVersion>1.1</jsfVersion>
+  </properties>
+</project>
+

Copied: branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java (from rev 1396, branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java)
===================================================================
--- branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java	                        (rev 0)
+++ branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -0,0 +1,127 @@
+/**
+ * License Agreement.
+ *
+ * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library 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 library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.ajax4jsf.ajax;
+
+import java.io.IOException;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import javax.faces.component.UIComponentBase;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.framework.util.message.Messages;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * @author shura
+ * 
+ */
+public abstract class UILoadBundle extends UIComponentBase {
+
+	public static final String COMPONENT_FAMILY = "org.ajax4jsf.Bundle";
+	
+	public static final String COMPONENT_TYPE = "org.ajax4jsf.ajax.Bundle";
+	
+	private static final Log _log = LogFactory.getLog(UILoadBundle.class);
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see javax.faces.component.UIComponent#getFamily()
+	 */
+	public String getFamily() {
+		// TODO Auto-generated method stub
+		return COMPONENT_FAMILY;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see javax.faces.component.UIComponentBase#encodeBegin(javax.faces.context.FacesContext)
+	 */
+	public void encodeBegin(FacesContext context) throws IOException {
+		loadBundle(context);
+
+	}
+
+	public void decode(FacesContext context) {
+		loadBundle(context);
+	}
+	/**
+	 * @param context
+	 */
+	public void loadBundle(FacesContext context) {
+	    UIViewRoot viewRoot = context.getViewRoot();
+	    Locale locale = viewRoot.getLocale();
+	    if (locale == null) {
+	    	locale = context.getApplication().getDefaultLocale();
+	    }
+
+	    ResourceBundle bundle;
+	    try {
+	    	bundle = ResourceBundle.getBundle(getBasename(), locale, Thread
+	    			.currentThread().getContextClassLoader());
+	    } catch (MissingResourceException e) {
+	    	_log.error(Messages.getMessage(Messages.COULD_NOT_LOAD_RESOURCE_BUNDLE, getBasename()));
+	    	return;
+	    }
+
+	    context.getExternalContext().getRequestMap().put(getVar(),
+	    		new ResourceBundleMap(bundle));
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see javax.faces.component.UIComponentBase#getRendererType()
+	 */
+	public String getRendererType() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/**
+	 * @return Returns the basename.
+	 */
+	public abstract String getBasename();
+
+	/**
+	 * @param basename
+	 *            The basename to set.
+	 */
+	public abstract void setBasename(String basename);
+
+	/**
+	 * @return Returns the var.
+	 */
+	public abstract String getVar();
+
+	/**
+	 * @param var
+	 *            The var to set.
+	 */
+	public abstract void setVar(String var);
+
+}

Modified: branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/ajax/AjaxViewRoot.java
===================================================================
--- branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/ajax/AjaxViewRoot.java	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/ajax/AjaxViewRoot.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -268,7 +268,7 @@
 	if (context == null)
 	    throw new NullPointerException("context");
 	singleComponent = null;
-	AjaxContext.invokeOnRegionOrRoot(this, context, _decodeInvoker);
+	AjaxContextImpl.invokeOnRegionOrRoot(this, context, _decodeInvoker);
 	try {
 	    broadcastEvents(context, PhaseId.APPLY_REQUEST_VALUES);
 	} catch (AjaxSingleException e) {
@@ -297,7 +297,7 @@
 	if (context == null)
 	    throw new NullPointerException("context");
 	if (null == singleComponent) {
-	    AjaxContext.invokeOnRegionOrRoot(this, context, _updatesInvoker);
+	    AjaxContextImpl.invokeOnRegionOrRoot(this, context, _updatesInvoker);
 	} else {
 	    singleComponent.processUpdates(context);
 	}
@@ -325,7 +325,7 @@
 	if (context == null)
 	    throw new NullPointerException("context");
 	if (null == singleComponent) {
-	    AjaxContext.invokeOnRegionOrRoot(this, context, _validatorsInvoker);
+	    AjaxContextImpl.invokeOnRegionOrRoot(this, context, _validatorsInvoker);
 	} else {
 	    singleComponent.processValidators(context);
 	}
@@ -393,7 +393,7 @@
 	if (!isHavePage()
 		&& AjaxContext.getCurrentInstance(context).isAjaxRequest(
 			context)) {
-	    AjaxContext.invokeOnRegionOrRoot(this, context, _ajaxInvoker);
+	    AjaxContextImpl.invokeOnRegionOrRoot(this, context, _ajaxInvoker);
 	} else {
 	    super.encodeChildren(context);
 	}

Modified: branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxChildrenRenderer.java
===================================================================
--- branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxChildrenRenderer.java	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxChildrenRenderer.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -30,6 +30,7 @@
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.ajax4jsf.ajax.UILoadBundle;
 import org.ajax4jsf.framework.ajax.AjaxChildrenEncoder;
 import org.ajax4jsf.framework.ajax.AjaxOutput;
 import org.ajax4jsf.framework.util.message.Messages;

Modified: branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxRendererUtils.java
===================================================================
--- branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxRendererUtils.java	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/renderer/AjaxRendererUtils.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -43,6 +43,7 @@
 import javax.faces.context.ResponseWriter;
 import javax.servlet.http.HttpServletResponse;
 
+import org.ajax4jsf.ajax.UILoadBundle;
 import org.ajax4jsf.framework.ajax.AjaxComponent;
 import org.ajax4jsf.framework.ajax.AjaxContainer;
 import org.ajax4jsf.framework.ajax.AjaxContext;

Copied: branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/resource/UserResource.java (from rev 1396, branches/refactor1/ui/core/src/main/java/org/ajax4jsf/framework/resource/UserResource.java)
===================================================================
--- branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/resource/UserResource.java	                        (rev 0)
+++ branches/refactor1/framework/impl/src/main/java/org/ajax4jsf/framework/resource/UserResource.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -0,0 +1,135 @@
+/**
+ * License Agreement.
+ *
+ * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library 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 library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.ajax4jsf.framework.resource;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIComponentBase;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.ValueBinding;
+
+/**
+ * @author shura
+ *
+ */
+public class UserResource extends InternetResourceBase {
+
+	private String contentType;
+	/**
+	 * 
+	 */
+	public UserResource(boolean cacheable, boolean session, String mime) {
+		super();		
+		setCacheable(cacheable);
+		setSessionAware(session);
+		setContentType(mime);
+	}
+	/**
+	 * @return Returns the contentType.
+	 */
+	public String getContentType(ResourceContext resourceContext) {
+		return contentType;
+	}
+	/**
+	 * @param contentType The contentType to set.
+	 */
+	public void setContentType(String contentType) {
+		this.contentType = contentType;
+	}
+	/* (non-Javadoc)
+	 * @see org.ajax4jsf.framework.resource.InternetResourceBase#getDataToStore(javax.faces.context.FacesContext, java.lang.Object)
+	 */
+	public Object getDataToStore(FacesContext context, Object data) {
+		UriData dataToStore = null;
+		if (data instanceof ResourceComponent) {
+			ResourceComponent resource = (ResourceComponent) data;
+			dataToStore = new UriData();
+			dataToStore.value = resource.getValue();
+			dataToStore.createContent = UIComponentBase.saveAttachedState(context,resource.getCreateContent());
+			if (data instanceof UIComponent) {
+				UIComponent component = (UIComponent) data;
+				ValueBinding expires = component.getValueBinding("expires");
+				if (null != expires) {
+					dataToStore.expires = UIComponentBase.saveAttachedState(context,expires);
+				}
+				ValueBinding lastModified = component.getValueBinding("lastModified");
+				if (null != lastModified) {
+					dataToStore.modified = UIComponentBase.saveAttachedState(context,lastModified);
+				}
+			}
+		}
+		return dataToStore;
+	}
+	/* (non-Javadoc)
+	 * @see org.ajax4jsf.framework.resource.InternetResourceBase#send(org.ajax4jsf.framework.resource.ResourceContext)
+	 */
+	public void send(ResourceContext context) throws IOException {
+		UriData data = (UriData) restoreData(context);
+		FacesContext facesContext = FacesContext.getCurrentInstance();
+		if (null != data && null != facesContext ) {
+			// Send headers
+			if(data.expires != null){
+				ValueBinding binding = (ValueBinding) UIComponentBase.restoreAttachedState(facesContext,data.expires);
+				Date expires = (Date) binding.getValue(facesContext);
+				context.setDateHeader("Expires",expires.getTime());
+			}
+			if(data.modified != null){
+				ValueBinding binding = (ValueBinding) UIComponentBase.restoreAttachedState(facesContext,data.modified);
+				Date modified = (Date) binding.getValue(facesContext);
+				context.setDateHeader("Last-Modified",modified.getTime());
+			}
+			// Send content
+			OutputStream out = context.getOutputStream();
+			MethodBinding send = (MethodBinding) UIComponentBase.restoreAttachedState(facesContext,data.createContent);
+			send.invoke(facesContext,new Object[]{out,data.value});
+		}
+	}
+	/* (non-Javadoc)
+	 * @see org.ajax4jsf.framework.resource.InternetResourceBase#requireFacesContext()
+	 */
+	public boolean requireFacesContext() {
+		// TODO Auto-generated method stub
+		return true;
+	}
+	
+	public static class UriData implements Serializable {
+
+		/**
+		 * 
+		 */
+		private static final long serialVersionUID = 1258987L;
+		
+		private Object value;
+		
+		private Object createContent;
+		
+		private Object expires;
+		
+		private Object modified;
+	}
+
+}

Deleted: branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java
===================================================================
--- branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/UILoadBundle.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -1,127 +0,0 @@
-/**
- * License Agreement.
- *
- * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library 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 library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
- */
-
-package org.ajax4jsf.ajax;
-
-import java.io.IOException;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import javax.faces.component.UIComponentBase;
-import javax.faces.component.UIViewRoot;
-import javax.faces.context.FacesContext;
-
-import org.ajax4jsf.framework.util.message.Messages;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * @author shura
- * 
- */
-public abstract class UILoadBundle extends UIComponentBase {
-
-	public static final String COMPONENT_FAMILY = "org.ajax4jsf.Bundle";
-	
-	public static final String COMPONENT_TYPE = "org.ajax4jsf.ajax.Bundle";
-	
-	private static final Log _log = LogFactory.getLog(UILoadBundle.class);
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.faces.component.UIComponent#getFamily()
-	 */
-	public String getFamily() {
-		// TODO Auto-generated method stub
-		return COMPONENT_FAMILY;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.faces.component.UIComponentBase#encodeBegin(javax.faces.context.FacesContext)
-	 */
-	public void encodeBegin(FacesContext context) throws IOException {
-		loadBundle(context);
-
-	}
-
-	public void decode(FacesContext context) {
-		loadBundle(context);
-	}
-	/**
-	 * @param context
-	 */
-	public void loadBundle(FacesContext context) {
-	    UIViewRoot viewRoot = context.getViewRoot();
-	    Locale locale = viewRoot.getLocale();
-	    if (locale == null) {
-	    	locale = context.getApplication().getDefaultLocale();
-	    }
-
-	    ResourceBundle bundle;
-	    try {
-	    	bundle = ResourceBundle.getBundle(getBasename(), locale, Thread
-	    			.currentThread().getContextClassLoader());
-	    } catch (MissingResourceException e) {
-	    	_log.error(Messages.getMessage(Messages.COULD_NOT_LOAD_RESOURCE_BUNDLE, getBasename()));
-	    	return;
-	    }
-
-	    context.getExternalContext().getRequestMap().put(getVar(),
-	    		new ResourceBundleMap(bundle));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.faces.component.UIComponentBase#getRendererType()
-	 */
-	public String getRendererType() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 * @return Returns the basename.
-	 */
-	public abstract String getBasename();
-
-	/**
-	 * @param basename
-	 *            The basename to set.
-	 */
-	public abstract void setBasename(String basename);
-
-	/**
-	 * @return Returns the var.
-	 */
-	public abstract String getVar();
-
-	/**
-	 * @param var
-	 *            The var to set.
-	 */
-	public abstract void setVar(String var);
-
-}

Deleted: branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/resource/ResourceComponent.java
===================================================================
--- branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/resource/ResourceComponent.java	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/ui/core/src/main/java/org/ajax4jsf/ajax/resource/ResourceComponent.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -1,121 +0,0 @@
-/**
- * License Agreement.
- *
- * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library 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 library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
- */
-
-package org.ajax4jsf.ajax.resource;
-
-import java.util.Date;
-
-import javax.faces.el.MethodBinding;
-
-/**
- * @author shura (latest modification by $Author: alexsmirnov $)
- * @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:58:13 $
- *
- */
-public interface ResourceComponent {
-	
-	/**
-	 * Get Mime-type for target .
-	 * @return
-	 */
-	public abstract String getMimeType();
-
-	/**
-	 * Set Mime-type for target .
-	 * @param newvalue
-	 */
-	public abstract void setMimeType(String newvalue);
-	
-
-	/**
-	 * Get Last modified date  for target .
-	 * @return
-	 */
-	public abstract Date getLastModified();
-
-	/**
-	 * Set Last modified for target .
-	 * @param newvalue
-	 */
-	public abstract void setLastModified(Date newvalue);
-	
-	
-	/**
-	 * Get Expiration time for target .
-	 * @return
-	 */
-	public abstract Date getExpires();
-
-	/**
-	 * Set Expiration time for target .
-	 * @param newvalue
-	 */
-	public abstract void setExpires(Date newvalue);
-	
-	
-	/**
-	 * Get caching flag for resource.
-	 * @return
-	 */
-	public abstract boolean isCacheable();
-
-	/**
-	 * Set caching flag for resource.
-	 * @param newvalue
-	 */
-	public abstract void setCacheable(boolean newvalue);
-	
-	/**
-	 * Get session-avare flag for resource.
-	 * @return true if resource depend of client session. If false, no JSESSIONID encoded in URI
-	 */
-	public abstract boolean isSession();
-
-	/**
-	 * Set session-avare flag for resource.
-	 * @param newvalue
-	 */
-	public abstract void setSession(boolean newvalue);
-	
-	/**
-	 * Get Data object, encoded in uri and passed to "send" method for generate resource content.
-	 * @return
-	 */
-	public abstract Object getValue();
-
-	/**
-	 * Set Data object, encoded in uri and passed to "send" method for generate resource content.
-	 * @param newvalue
-	 */
-	public abstract void setValue(Object newvalue);
-	
-	/**
-	 * Get El binding to  method in user bean to send resource. Method will called with two parameters - restored data object and servlet output stream.
-	 * @return
-	 */
-	public abstract MethodBinding getCreateContent();
-
-	/**
-	 * Set El binding to  method in user bean to send resource. Method will called with two parameters - restored data object and servlet output stream.
-	 * @param newvalue
-	 */
-	public abstract void setCreateContent(MethodBinding newvalue);
-}

Deleted: branches/refactor1/ui/core/src/main/java/org/ajax4jsf/framework/resource/UserResource.java
===================================================================
--- branches/refactor1/ui/core/src/main/java/org/ajax4jsf/framework/resource/UserResource.java	2007-06-29 17:35:11 UTC (rev 1418)
+++ branches/refactor1/ui/core/src/main/java/org/ajax4jsf/framework/resource/UserResource.java	2007-06-29 18:13:40 UTC (rev 1419)
@@ -1,137 +0,0 @@
-/**
- * License Agreement.
- *
- * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library 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 library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
- */
-
-package org.ajax4jsf.framework.resource;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.util.Date;
-
-import javax.faces.component.UIComponent;
-import javax.faces.component.UIComponentBase;
-import javax.faces.context.FacesContext;
-import javax.faces.el.MethodBinding;
-import javax.faces.el.ValueBinding;
-
-import org.ajax4jsf.ajax.resource.ResourceComponent;
-
-/**
- * @author shura
- *
- */
-public class UserResource extends InternetResourceBase {
-
-	private String contentType;
-	/**
-	 * 
-	 */
-	public UserResource(boolean cacheable, boolean session, String mime) {
-		super();		
-		setCacheable(cacheable);
-		setSessionAware(session);
-		setContentType(mime);
-	}
-	/**
-	 * @return Returns the contentType.
-	 */
-	public String getContentType(ResourceContext resourceContext) {
-		return contentType;
-	}
-	/**
-	 * @param contentType The contentType to set.
-	 */
-	public void setContentType(String contentType) {
-		this.contentType = contentType;
-	}
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.framework.resource.InternetResourceBase#getDataToStore(javax.faces.context.FacesContext, java.lang.Object)
-	 */
-	public Object getDataToStore(FacesContext context, Object data) {
-		UriData dataToStore = null;
-		if (data instanceof ResourceComponent) {
-			ResourceComponent resource = (ResourceComponent) data;
-			dataToStore = new UriData();
-			dataToStore.value = resource.getValue();
-			dataToStore.createContent = UIComponentBase.saveAttachedState(context,resource.getCreateContent());
-			if (data instanceof UIComponent) {
-				UIComponent component = (UIComponent) data;
-				ValueBinding expires = component.getValueBinding("expires");
-				if (null != expires) {
-					dataToStore.expires = UIComponentBase.saveAttachedState(context,expires);
-				}
-				ValueBinding lastModified = component.getValueBinding("lastModified");
-				if (null != lastModified) {
-					dataToStore.modified = UIComponentBase.saveAttachedState(context,lastModified);
-				}
-			}
-		}
-		return dataToStore;
-	}
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.framework.resource.InternetResourceBase#send(org.ajax4jsf.framework.resource.ResourceContext)
-	 */
-	public void send(ResourceContext context) throws IOException {
-		UriData data = (UriData) restoreData(context);
-		FacesContext facesContext = FacesContext.getCurrentInstance();
-		if (null != data && null != facesContext ) {
-			// Send headers
-			if(data.expires != null){
-				ValueBinding binding = (ValueBinding) UIComponentBase.restoreAttachedState(facesContext,data.expires);
-				Date expires = (Date) binding.getValue(facesContext);
-				context.setDateHeader("Expires",expires.getTime());
-			}
-			if(data.modified != null){
-				ValueBinding binding = (ValueBinding) UIComponentBase.restoreAttachedState(facesContext,data.modified);
-				Date modified = (Date) binding.getValue(facesContext);
-				context.setDateHeader("Last-Modified",modified.getTime());
-			}
-			// Send content
-			OutputStream out = context.getOutputStream();
-			MethodBinding send = (MethodBinding) UIComponentBase.restoreAttachedState(facesContext,data.createContent);
-			send.invoke(facesContext,new Object[]{out,data.value});
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.framework.resource.InternetResourceBase#requireFacesContext()
-	 */
-	public boolean requireFacesContext() {
-		// TODO Auto-generated method stub
-		return true;
-	}
-	
-	public static class UriData implements Serializable {
-
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = 1258987L;
-		
-		private Object value;
-		
-		private Object createContent;
-		
-		private Object expires;
-		
-		private Object modified;
-	}
-
-}




More information about the richfaces-svn-commits mailing list