JBoss Rich Faces SVN: r14944 - in branches/community/3.3.X: ui/beanValidator/src/main/java/org/richfaces/component and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2009-07-16 20:34:10 -0400 (Thu, 16 Jul 2009)
New Revision: 14944
Added:
branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
Modified:
branches/community/3.3.X/samples/beanValidatorSample/pom.xml
branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/ObjectValidator.java
Log:
https://jira.jboss.org/jira/browse/RF-7226
Modified: branches/community/3.3.X/samples/beanValidatorSample/pom.xml
===================================================================
--- branches/community/3.3.X/samples/beanValidatorSample/pom.xml 2009-07-16 15:45:54 UTC (rev 14943)
+++ branches/community/3.3.X/samples/beanValidatorSample/pom.xml 2009-07-17 00:34:10 UTC (rev 14944)
@@ -135,5 +135,16 @@
</dependency>
</dependencies>
</profile>
+ <profile>
+ <!-- That profile appends validation-api library to check initialization process -->
+ <id>validation-api</id>
+ <dependencies>
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>1.0.CR2</version>
+ </dependency>
+ </dependencies>
+ </profile>
</profiles>
</project>
\ No newline at end of file
Added: branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
===================================================================
--- branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java (rev 0)
+++ branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2009-07-17 00:34:10 UTC (rev 14944)
@@ -0,0 +1,23 @@
+/**
+ *
+ */
+package org.richfaces.component;
+
+/**
+ * Stage class to keep backward compatibility.
+ * @author asmirnov
+ * @deprecated That class has been renamed, Use {@link UIAjaxValidator} instead
+ *
+ */
+public abstract class UIBeanValidator extends UIAjaxValidator {
+
+ /* (non-Javadoc)
+ * @see javax.faces.component.UIComponent#getFamily()
+ */
+ @Override
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
+
+
+}
Property changes on: branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
===================================================================
--- branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2009-07-16 15:45:54 UTC (rev 14943)
+++ branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2009-07-17 00:34:10 UTC (rev 14944)
@@ -24,11 +24,15 @@
public class BeanValidator extends ObjectValidator {
private static final Class[] DEFAULT_PROFILE = new Class[] {};
- private volatile ValidatorFactory validatorFactory = null;
+ private final ValidatorFactory validatorFactory;
BeanValidator() {
// Enforce class to load
ValidatorFactory.class.getName();
+ // Check Factory, to avoid instantiation errors
+ // https://jira.jboss.org/jira/browse/RF-7226
+ validatorFactory = Validation
+ .buildDefaultValidatorFactory();
}
/*
@@ -103,22 +107,6 @@
}
protected Validator getValidator(Locale locale) {
- if (null == validatorFactory) {
- synchronized (this) {
- if (null == validatorFactory) {
- try {
- validatorFactory = Validation
- .buildDefaultValidatorFactory();
- } catch (ValidationException e) {
- throw new FacesException(
- "Could not build a default Bean Validator factory",
- e);
- }
-
- }
- }
- }
-
ValidatorContext validatorContext = validatorFactory.usingContext();
MessageInterpolator jsfMessageInterpolator = new JsfMessageInterpolator(
locale, validatorFactory.getMessageInterpolator());
Modified: branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/ObjectValidator.java
===================================================================
--- branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/ObjectValidator.java 2009-07-16 15:45:54 UTC (rev 14943)
+++ branches/community/3.3.X/ui/beanValidator/src/main/java/org/richfaces/validator/ObjectValidator.java 2009-07-17 00:34:10 UTC (rev 14944)
@@ -19,6 +19,8 @@
import javax.faces.context.FacesContext;
import org.ajax4jsf.el.ELContextWrapper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
public abstract class ObjectValidator {
@@ -32,6 +34,8 @@
.getName();
private static final Object MUTEX = new Object();
+
+ private static final Log log = LogFactory.getLog(ObjectValidator.class);
/**
* Create BeanValidator instance. For a Junit tests only.
@@ -45,12 +49,12 @@
ObjectValidator validator;
try {
validator = new BeanValidator();
-
- } catch (NoClassDefFoundError e) {
+ } catch (Throwable e) {
+ log.warn("Bean Validator could not be instantiated", e);
try {
validator = new HibernateValidator();
-
- } catch (NoClassDefFoundError e2) {
+ } catch (Throwable e2) {
+ log.warn("Hibernate Validator could not be instantiated, use stub instead", e);
validator = new NullValidator();
}
}
15 years, 2 months
JBoss Rich Faces SVN: r14943 - root/framework/trunk/api/src/main/java/org/ajax4jsf/resource.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-07-16 11:45:54 -0400 (Thu, 16 Jul 2009)
New Revision: 14943
Modified:
root/framework/trunk/api/src/main/java/org/ajax4jsf/resource/InternetResource.java
Log:
Resources:
- timeToLive added
- couple of bugs fixed
Modified: root/framework/trunk/api/src/main/java/org/ajax4jsf/resource/InternetResource.java
===================================================================
--- root/framework/trunk/api/src/main/java/org/ajax4jsf/resource/InternetResource.java 2009-07-16 15:28:04 UTC (rev 14942)
+++ root/framework/trunk/api/src/main/java/org/ajax4jsf/resource/InternetResource.java 2009-07-16 15:45:54 UTC (rev 14943)
@@ -48,7 +48,10 @@
public static final String RESOURCE_URI_PREFIX = "resource://";
public static final int RESOURCE_URI_PREFIX_LENGTH = RESOURCE_URI_PREFIX.length();
public static final String DATA_SEPARATOR = "/DATA/";
- static public final long DEFAULT_EXPIRE = 1000L * 60L * 60L * 24L;// 1 day
+
+ static public final int DEFAULT_TTL = 60 * 60 * 24;// 1 day
+ static public final long DEFAULT_EXPIRE = 1000L * DEFAULT_TTL;// 1 day
+
public static final String DEFAULT_EXPITE_PARAMETER = "org.ajax4jsf.DEFAULT_EXPIRE";
/**
* @param resourceContext current {@link ResourceContext}
15 years, 2 months
JBoss Rich Faces SVN: r14942 - in root/framework/trunk/impl/src: test/java/org/richfaces/resource and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-07-16 11:28:04 -0400 (Thu, 16 Jul 2009)
New Revision: 14942
Added:
root/framework/trunk/impl/src/test/java/org/richfaces/resource/EmptyStreamResource.java
Modified:
root/framework/trunk/impl/src/main/java/org/richfaces/resource/AbstractBaseResource.java
root/framework/trunk/impl/src/main/java/org/richfaces/resource/CachedResourceImpl.java
root/framework/trunk/impl/src/main/java/org/richfaces/resource/ResourceHandlerImpl.java
root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java
root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractBaseResourceTest.java
root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractCacheableResourceTest.java
root/framework/trunk/impl/src/test/java/org/richfaces/resource/CachedResourceImplTest.java
root/framework/trunk/impl/src/test/java/org/richfaces/resource/MarkerFileResourceImpl.java
root/framework/trunk/impl/src/test/java/org/richfaces/resource/NoMarkerFileResourceImpl.java
root/framework/trunk/impl/src/test/java/org/richfaces/resource/VersionedResourceImpl.java
Log:
Resources:
- timeToLive added
- couple of bugs fixed
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/resource/AbstractBaseResource.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/resource/AbstractBaseResource.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/resource/AbstractBaseResource.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -21,7 +21,6 @@
package org.richfaces.resource;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
@@ -52,8 +51,6 @@
private String version;
- protected InputStream EMPTY_STREAM = new ByteArrayInputStream(new byte[0]);
-
public AbstractBaseResource() {
super();
@@ -77,6 +74,10 @@
return null;
}
+ protected int getTimeToLive(FacesContext context) {
+ return 0;
+ }
+
/**
* @param resourceContext current {@link ResourceContext}
* @return Returns the lastModified.
@@ -201,18 +202,34 @@
if (cacheable) {
long currentTime = getCurrentTime();
- Date expires = getExpired(facesContext);
- if (expires == null) {
- expires = new Date(currentTime + InternetResource.DEFAULT_EXPIRE);
+
+ String formattedExpireDate = null;
+ long maxAge = getTimeToLive(facesContext);
+
+ if (maxAge > 0) {
+ formattedExpireDate = Util.formatHttpDate(currentTime + maxAge * 1000L);
+ } else {
+ Date expired = getExpired(facesContext);
+ if (expired != null) {
+ formattedExpireDate = Util.formatHttpDate(expired);
+ maxAge = (expired.getTime() - currentTime) / 1000L;
+ } else {
+ maxAge = InternetResource.DEFAULT_TTL;
+ formattedExpireDate = Util.formatHttpDate(currentTime + maxAge * 1000L);
+ }
}
+ if (formattedExpireDate != null) {
+ headers.put("Expires", formattedExpireDate);
+ }
+ if (maxAge > 0) {
+ headers.put("Cache-Control", "max-age=" + maxAge);
+ }
+
String entityTag = getEntityTag(facesContext);
if (entityTag != null) {
headers.put("ETag", entityTag);
}
-
- headers.put("Expires", Util.formatHttpDate(expires));
- headers.put("Cache-Control", "max-age=" + (expires.getTime() - currentTime) / 1000L);
} else {
headers.put("Expires", "0");
headers.put("Cache-Control", "max-age=0, no-store, no-cache");
@@ -254,12 +271,17 @@
@Override
public long getExpiration() {
FacesContext facesContext = FacesContext.getCurrentInstance();
+ long ttl = AbstractBaseResource.this.getTimeToLive(facesContext);
+ if (ttl > 0) {
+ return System.currentTimeMillis() + ttl * 1000;
+ }
+
Date date = AbstractBaseResource.this.getExpired(facesContext);
if (date != null) {
return date.getTime();
}
- return 0;
+ return System.currentTimeMillis() + InternetResource.DEFAULT_TTL * 1000;
}
@Override
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/resource/CachedResourceImpl.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/resource/CachedResourceImpl.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/resource/CachedResourceImpl.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -45,9 +45,6 @@
*/
class CachedResourceImpl extends AbstractCacheableResource {
- //TODO use configuration parameter
- private static final long DEFAULT_EXPIRE = 24 * 60 * 60 * 1000;
-
//[0..1]
private static final float CACHE_EXPIRATION_COEFFICIENT = 0.9f;
@@ -73,7 +70,9 @@
private void initializeFromHeaders() {
this.entityTag = null;
this.lastModified = null;
- this.setContentType(null);
+
+ //this.setContentType(null);
+
this.expired = null;
Date expiredFromHeader = null;
@@ -106,9 +105,9 @@
}
}
}
- } else if ("content-type".equals(headerKey)) {
+ }/* else if ("content-type".equals(headerKey)) {
this.setContentType(headerEntry.getValue());
- }
+ }*/
}
long currentTime = getCurrentTime();
@@ -152,6 +151,7 @@
public void initialize(Resource resource) {
setResourceName(resource.getResourceName());
+ setContentType(resource.getContentType());
this.headers = resource.getResponseHeaders();
initializeFromHeaders();
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/resource/ResourceHandlerImpl.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/resource/ResourceHandlerImpl.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/resource/ResourceHandlerImpl.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -216,13 +216,16 @@
} catch (NumberFormatException e) {
// TODO: handle exception
}
- } else if ("content-type".equals(headerName.toLowerCase(Locale.US))) {
+ }/* else if ("content-type".equals(headerName.toLowerCase(Locale.US))) {
externalContext.setResponseContentType(headerValue);
- } else {
+ }*/ else {
externalContext.setResponseHeader(headerName, headerValue);
}
}
+ //TODO null content type?
+ externalContext.setResponseContentType(resource.getContentType());
+
//TODO setup output buffer size according to configuration parameter
InputStream is = resource.getInputStream();
OutputStream os = externalContext.getResponseOutputStream();
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -108,12 +108,12 @@
@Override
public String getEntityTag(FacesContext context) {
- return Integer.toHexString(color.getRGB() & 0xFFFFFF);
+ return ResourceUtils.formatWeakTag(Integer.toHexString(color.getRGB() & 0xFFFFFF));
}
@Override
protected Date getExpired(FacesContext context) {
- return new Date(System.currentTimeMillis() + 10000);
+ return null;//new Date(System.currentTimeMillis() + 10000);
}
@Override
Modified: root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractBaseResourceTest.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractBaseResourceTest.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractBaseResourceTest.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -60,7 +60,7 @@
@Override
public InputStream getInputStream() {
- return null;
+ throw new UnsupportedOperationException();
}
public ResourceImpl() {
@@ -69,9 +69,39 @@
setResourceName("org.richfaces.resource.ResourceImpl");
}
}
+
+ private class MockStateAwareResourceImpl extends MockResourceImpl implements StateHolder {
- private class MockResourceImpl extends AbstractBaseResource implements StateHolder {
+ private Object resourceState;
+
+ private boolean _transient = false;
+
+ public MockStateAwareResourceImpl() {
+ super();
+
+ setResourceName("org.richfaces.resource.MockStateAwareResource");
+ }
+
+ public boolean isTransient() {
+ return _transient;
+ }
+ public void setTransient(boolean newTransientValue) {
+ this._transient = newTransientValue;
+ }
+
+ public Object saveState(FacesContext context) {
+ return resourceState;
+ }
+
+ public void restoreState(FacesContext context, Object state) {
+ this.resourceState = state;
+ }
+
+ }
+
+ private class MockResourceImpl extends AbstractBaseResource {
+
private String version;
private int contentLength = -1;
@@ -86,7 +116,7 @@
private String entityTag;
- private Object resourceState;
+ private int ttl;
public MockResourceImpl() {
super();
@@ -168,22 +198,13 @@
this.currentTime = currentTime;
}
- public boolean isTransient() {
- return false;
+ @Override
+ protected int getTimeToLive(FacesContext context) {
+ return ttl;
}
-
- public void setTransient(boolean newTransientValue) {
- }
-
- /* (non-Javadoc)
- * @see javax.faces.component.StateHolder#saveState(javax.faces.context.FacesContext)
- */
- public Object saveState(FacesContext context) {
- return resourceState;
- }
- public void restoreState(FacesContext context, Object state) {
- this.resourceState = state;
+ public void setTimeToLive(int ttl) {
+ this.ttl = ttl;
}
}
@@ -217,8 +238,15 @@
assertEquals("image/png", headers.get("Content-Type"));
assertEquals(7, headers.size());
+
+ mockResource.setTimeToLive(14 * 24 * 60 * 60 /* 14 days */);
+ headers = mockResource.getResponseHeaders();
+ assertEquals("Tue, 28 Jul 2009 12:45:09 GMT", headers.get("Expires"));
+ assertEquals("Mon, 13 Jul 2009 12:45:09 GMT", headers.get("Last-Modified"));
+ assertEquals("Tue, 14 Jul 2009 12:45:09 GMT", headers.get("Date"));
+ assertEquals("max-age=1209600", headers.get("Cache-Control"));
}
-
+
public void testGetHeadersNonCacheable() throws Exception {
MockResourceImpl mockResource = new MockResourceImpl();
mockResource.setCacheable(false);
@@ -253,18 +281,35 @@
Object resourceState = new Object();
ResourceCodec resourceCodec = EasyMock.createMock(ResourceCodec.class);
- EasyMock.expect(resourceCodec.encodeResource(EasyMock.eq("org.richfaces.resource.MockResource"),
+ EasyMock.expect(resourceCodec.encodeResource(EasyMock.eq("org.richfaces.resource.MockStateAwareResource"),
EasyMock.same(resourceState), EasyMock.eq("4_0_alpha"))).andReturn("Resource0/4_0_alpha/data");
+
+ EasyMock.expect(resourceCodec.encodeResource(EasyMock.eq("org.richfaces.resource.MockStateAwareResource"),
+ EasyMock.eq(null), EasyMock.eq("4_0_alpha"))).andReturn("Resource1/4_0_alpha");
+ EasyMock.expect(resourceCodec.encodeResource(EasyMock.eq("org.richfaces.resource.MockResource"),
+ EasyMock.eq(null), EasyMock.eq("4_0_alpha"))).andReturn("Resource2/4_0_alpha");
+
+ EasyMock.replay(resourceCodec);
ResourceHandlerImpl.setResourceCodec(resourceCodec);
+
+ MockStateAwareResourceImpl stateAwareResourceImpl = new MockStateAwareResourceImpl();
+ stateAwareResourceImpl.setVersion("4_0_alpha");
+ stateAwareResourceImpl.restoreState(facesContext, resourceState);
+
+ assertEquals("org.richfaces.resource.MockStateAwareResource", stateAwareResourceImpl.getResourceName());
+ assertEquals("/rfRes/Resource0/4_0_alpha/data.jsf", stateAwareResourceImpl.getRequestPath());
+
+ stateAwareResourceImpl.setTransient(true);
+
+ assertEquals("/rfRes/Resource1/4_0_alpha.jsf", stateAwareResourceImpl.getRequestPath());
+
MockResourceImpl resourceImpl = new MockResourceImpl();
resourceImpl.setVersion("4_0_alpha");
- resourceImpl.restoreState(facesContext, resourceState);
assertEquals("org.richfaces.resource.MockResource", resourceImpl.getResourceName());
- EasyMock.replay(resourceCodec);
- assertEquals("/rfRes/Resource0/4_0_alpha/data.jsf", resourceImpl.getRequestPath());
+ assertEquals("/rfRes/Resource2/4_0_alpha.jsf", resourceImpl.getRequestPath());
EasyMock.verify(resourceCodec);
}
@@ -307,7 +352,7 @@
assertEquals(-1, urlConnection2.getContentLength());
assertNull(urlConnection2.getContentType());
assertEquals(0, urlConnection2.getLastModified());
- assertEquals(0, urlConnection2.getExpiration());
+ assertTrue(urlConnection2.getExpiration() > 0);
}
public void testDefaults() throws Exception {
Modified: root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractCacheableResourceTest.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractCacheableResourceTest.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/resource/AbstractCacheableResourceTest.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -261,66 +261,39 @@
this.lastModified = lastModified;
}
- public void setCacheable(boolean cacheable) {
- this.cacheable = cacheable;
- }
-
- private boolean cacheable = true;
-
- /* (non-Javadoc)
- * @see org.richfaces.resource.AbstractResource#getEntityTag(javax.faces.context.FacesContext)
- */
@Override
protected String getEntityTag(FacesContext context) {
return entityTag;
}
- /* (non-Javadoc)
- * @see org.richfaces.resource.AbstractResource#getLastModified(javax.faces.context.FacesContext)
- */
@Override
protected Date getLastModified(FacesContext context) {
return lastModified;
}
- /* (non-Javadoc)
- * @see org.richfaces.resource.AbstractResource#isCacheable(javax.faces.context.FacesContext)
- */
@Override
- public boolean isCacheable(FacesContext context) {
- return cacheable;
- }
-
- /* (non-Javadoc)
- * @see javax.faces.application.Resource#getInputStream()
- */
- @Override
public InputStream getInputStream() throws IOException {
throw new UnsupportedOperationException();
}
- /* (non-Javadoc)
- * @see javax.faces.application.Resource#getRequestPath()
- */
@Override
public String getRequestPath() {
throw new UnsupportedOperationException();
}
- /* (non-Javadoc)
- * @see javax.faces.application.Resource#getResponseHeaders()
- */
@Override
public Map<String, String> getResponseHeaders() {
throw new UnsupportedOperationException();
}
- /* (non-Javadoc)
- * @see javax.faces.application.Resource#getURL()
- */
@Override
public URL getURL() {
throw new UnsupportedOperationException();
}
+
+ @Override
+ public boolean isCacheable(FacesContext context) {
+ throw new UnsupportedOperationException();
+ }
}
Modified: root/framework/trunk/impl/src/test/java/org/richfaces/resource/CachedResourceImplTest.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/resource/CachedResourceImplTest.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/resource/CachedResourceImplTest.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -77,20 +77,21 @@
private InputStream stream;
- @Override
- public Map<String, String> getResponseHeaders() {
- return headers;
- }
-
public MockHeadersResourceImpl(Map<String, String> headers,
InputStream stream) {
super();
setResourceName(getClass().getName());
+ setContentType("image/png");
this.headers = headers;
this.stream = stream != null ? stream : new ByteArrayInputStream(new byte[0]);
}
@Override
+ public Map<String, String> getResponseHeaders() {
+ return headers;
+ }
+
+ @Override
public InputStream getInputStream() throws IOException {
return stream;
}
@@ -148,7 +149,6 @@
headers.put("ETag", "W/\"123\"");
headers.put(LAST_MODIFIED, "Tue, 21 Jul 2009 12:45:09 GMT");
headers.put(EXPIRES, "Tue, 28 Jul 2009 12:45:09 GMT");
- headers.put("Content-Type", "image/png");
headers.put(CACHE_CONTROL, "public, max-age=86400");
return headers;
}
Copied: root/framework/trunk/impl/src/test/java/org/richfaces/resource/EmptyStreamResource.java (from rev 14933, root/framework/trunk/impl/src/test/java/org/richfaces/resource/MarkerFileResourceImpl.java)
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/resource/EmptyStreamResource.java (rev 0)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/resource/EmptyStreamResource.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -0,0 +1,40 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - 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.richfaces.resource;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+/**
+ * @author Nick Belaevski
+ * @since 4.0
+ */
+public class EmptyStreamResource extends AbstractBaseResource {
+
+ protected InputStream EMPTY_STREAM = new ByteArrayInputStream(new byte[0]);
+
+ @Override
+ public InputStream getInputStream() {
+ return EMPTY_STREAM;
+ }
+
+}
Modified: root/framework/trunk/impl/src/test/java/org/richfaces/resource/MarkerFileResourceImpl.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/resource/MarkerFileResourceImpl.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/resource/MarkerFileResourceImpl.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -21,17 +21,11 @@
package org.richfaces.resource;
-import java.io.InputStream;
/**
* @author Nick Belaevski
* @since 4.0
*/
-public class MarkerFileResourceImpl extends AbstractBaseResource {
+public class MarkerFileResourceImpl extends EmptyStreamResource {
- @Override
- public InputStream getInputStream() {
- return EMPTY_STREAM;
- }
-
}
Modified: root/framework/trunk/impl/src/test/java/org/richfaces/resource/NoMarkerFileResourceImpl.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/resource/NoMarkerFileResourceImpl.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/resource/NoMarkerFileResourceImpl.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -21,17 +21,11 @@
package org.richfaces.resource;
-import java.io.InputStream;
/**
* @author Nick Belaevski
* @since 4.0
*/
-public class NoMarkerFileResourceImpl extends AbstractBaseResource {
+public class NoMarkerFileResourceImpl extends EmptyStreamResource {
- @Override
- public InputStream getInputStream() {
- return EMPTY_STREAM;
- }
-
}
Modified: root/framework/trunk/impl/src/test/java/org/richfaces/resource/VersionedResourceImpl.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/resource/VersionedResourceImpl.java 2009-07-16 15:21:09 UTC (rev 14941)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/resource/VersionedResourceImpl.java 2009-07-16 15:28:04 UTC (rev 14942)
@@ -21,23 +21,14 @@
package org.richfaces.resource;
-import java.io.InputStream;
/**
* @author Nick Belaevski
* @since 4.0
*/
-public class VersionedResourceImpl extends AbstractBaseResource {
+public class VersionedResourceImpl extends EmptyStreamResource {
- /* (non-Javadoc)
- * @see org.richfaces.resource.AbstractBaseResource#getInputStream()
- */
@Override
- public InputStream getInputStream() {
- return EMPTY_STREAM;
- }
-
- @Override
public String getVersion() {
return "1_0_2";
}
15 years, 2 months
JBoss Rich Faces SVN: r14941 - branches/community/3.3.X/test-applications/facelets/src/main/java/tree.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-07-16 11:21:09 -0400 (Thu, 16 Jul 2009)
New Revision: 14941
Modified:
branches/community/3.3.X/test-applications/facelets/src/main/java/tree/Bean.java
Log:
Removed IOException caught by test application code for tree
Modified: branches/community/3.3.X/test-applications/facelets/src/main/java/tree/Bean.java
===================================================================
--- branches/community/3.3.X/test-applications/facelets/src/main/java/tree/Bean.java 2009-07-16 13:20:08 UTC (rev 14940)
+++ branches/community/3.3.X/test-applications/facelets/src/main/java/tree/Bean.java 2009-07-16 15:21:09 UTC (rev 14941)
@@ -209,12 +209,7 @@
public String expand() {
if (expandPath != null && expandPath.length() != 0) {
- try {
- tree.queueNodeExpand(new ListRowKey(null, expandPath));
- } catch (IOException e) {
-
- e.printStackTrace();
- }
+ tree.queueNodeExpand(new ListRowKey(null, expandPath));
}
return null;
@@ -236,18 +231,13 @@
this.tree = (UITree) tree;
}
- public String collapseAll() throws IOException {
+ public String collapseAll() {
this.tree.queueCollapseAll();
return null;
}
public String expandAll() {
- try {
- this.tree.queueExpandAll();
- } catch (IOException e) {
-
- e.printStackTrace();
- }
+ this.tree.queueExpandAll();
return null;
}
@@ -314,12 +304,8 @@
public String expandNode() {
String pathToExpand = getPathToExpand();
if (pathToExpand != null && pathToExpand.trim().length() != 0) {
- try {
- ((UITree) getTree()).queueNodeExpand(new ListRowKey(null,
- pathToExpand));
- } catch (IOException e) {
- throw new FacesException(e);
- }
+ ((UITree) getTree()).queueNodeExpand(new ListRowKey(null,
+ pathToExpand));
}
return null;
15 years, 2 months
JBoss Rich Faces SVN: r14940 - in branches/community/3.3.X/ui/effect/src/main: java/org/richfaces/renderkit and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2009-07-16 09:20:08 -0400 (Thu, 16 Jul 2009)
New Revision: 14940
Modified:
branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
branches/community/3.3.X/ui/effect/src/main/resources/org/richfaces/renderkit/html/script/processEffect.js
branches/community/3.3.X/ui/effect/src/main/templates/effect.jspx
Log:
https://jira.jboss.org/jira/browse/RF-7391
Modified: branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
===================================================================
--- branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2009-07-16 13:12:10 UTC (rev 14939)
+++ branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2009-07-16 13:20:08 UTC (rev 14940)
@@ -21,12 +21,13 @@
package org.richfaces.component;
-import java.util.Iterator;
+import java.util.HashMap;
+import java.util.Map;
+
import org.ajax4jsf.Messages;
import org.ajax4jsf.component.EventValueBinding;
import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
-import javax.faces.component.NamingContainer;
import javax.faces.context.FacesContext;
import org.ajax4jsf.component.AjaxSupport;
import org.apache.commons.logging.Log;
@@ -52,39 +53,45 @@
*/
public String getEventString()
{
- StringBuffer buildOnEvent = new StringBuffer();
+ StringBuffer buildOnEvent = new StringBuffer("Richfaces.processEffect(");
+ StringBuffer options = new StringBuffer();
+ StringBuffer extendStr = new StringBuffer("Object.extend({targetId:");
- String targetId=getTargetId();
- String targetPart = "{}";
+ String targetId=getTargetId();
UIComponent targetComponent=null;
- if (!"".equals(targetId)) {
- targetComponent=RendererUtils.getInstance().findComponentFor(this,targetId);
- }
- if (targetComponent!=null) {
- targetPart = "{targetId:'"+targetComponent.getClientId(FacesContext.getCurrentInstance())+"'}";
- } else {
- // it might be html tag id or DOM object
- targetPart = targetId != ""
- ? "typeof "+targetId+"=='object'?{targetId:"+targetId+"}:{targetId:$('"+targetId+"')}" : "{}" ;
- }
-
- String type=getType();
- String typePart = type!=""?"{type:'"+type+"'}":"{}";
-
- String params=getParams();
- String paramsPart = params!=""?"{"+params+"}":"{}";
-
-
- buildOnEvent.append("Richfaces.processEffect(Object.extend(Object.extend({targetId:this},"+targetPart+"),"+
- "Object.extend("+typePart+","+paramsPart+") ) )");
+ if (!"".equals(targetId)) {
+ targetComponent=RendererUtils.getInstance().findComponentFor(this,targetId);
+ }
+ if (targetComponent!=null) {
+ targetId = "'"+targetComponent.getClientId(FacesContext.getCurrentInstance())+"'";
+ } else {
+ // it might be html tag id or DOM object
+ targetId = !"".equals(targetId) ? "typeof "+targetId+"=='object'?"+targetId+":$('"+targetId+"')" : "";
+ }
+
+ extendStr.append("".equals(targetId) ? "this" : targetId);
+
+ String type=getType();
+ if (!"".equals(type)) {
+ options.append("type:'" + type);
+ options.append('\'');
+ }
+
+ String params=getParams();
+ if (!"".equals(params)) {
+ if (options.length() != 0) {
+ options.append(',');
+ }
+ options.append(params);
+ }
+
+ buildOnEvent.append(extendStr);
+ buildOnEvent.append("},{");
+ buildOnEvent.append(options);
+ buildOnEvent.append("}));");
- return buildOnEvent.toString();
-
-//if (typeof '' == 'object') {pm.attachId= '';if (''=='') pm.targetId=''; };
-
-
-
+ return buildOnEvent.toString();
}
public abstract String getEvent();
Modified: branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
===================================================================
--- branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2009-07-16 13:12:10 UTC (rev 14939)
+++ branches/community/3.3.X/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2009-07-16 13:20:08 UTC (rev 14940)
@@ -21,14 +21,20 @@
package org.richfaces.renderkit;
import java.io.IOException;
-import java.util.regex.Pattern;
+import java.util.HashMap;
+import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
-import org.ajax4jsf.javascript.JSEncoder;
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.JSLiteral;
+import org.ajax4jsf.javascript.JSReference;
import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
import org.ajax4jsf.renderkit.RendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.ajax4jsf.renderkit.RendererUtils.ScriptHashVariableWrapper;
import org.richfaces.component.UIEffect;
import org.richfaces.json.JSONTokener;
@@ -46,19 +52,6 @@
protected Class getComponentClass() {
return UIEffect.class;
}
-
- private static final Pattern VARIABLE_PATTERN = Pattern.compile("^\\s*[_,A-Z,a-z]\\w*(?:\\.[_,A-Z,a-z]\\w*)*\\s*$");
-
- public String convertElementParameter(Object parameter) {
- if (parameter==null)
- return "''";
- String s = parameter.toString();
- if (VARIABLE_PATTERN.matcher(s).matches()) {
- return "typeof "+s+" == \"object\" ? "+s+" : $('"+s+"')";
- } else {
- return "'"+s+"'";
- }
- }
public String convertParameters(FacesContext context, UIEffect effect) throws IOException {
String params = effect.getParams();
@@ -149,20 +142,76 @@
}
}
- public String escapeJavaScript(Object s) {
- if (s != null) {
- JSEncoder encoder = new JSEncoder();
- StringBuffer result = new StringBuffer();
- String string = s.toString();
- int length = string.length();
+ private String findComponentId(String id, FacesContext context, UIComponent component) {
+ String result = null;
+ if (! "".equals(id)) {
+ UIComponent comp = getUtils().findComponentFor(component,id);
+ if (comp != null) {
+ String cid= comp.getClientId(context);
+ result = cid;
+ }
+ }
+ return result;
+ }
+
+ public void writeScript (FacesContext context, UIComponent component) throws IOException {
+
+ Map<String, Object> attributes = component.getAttributes();
+ String attachObj = "";
+ String attachId = "";
+
+ String id = (String) attributes.get("for");
+ if (! "".equals(id)) {
+ attachId = findComponentId(id, context, component);
+ if (attachId == null) {
+ // if no corresponded component id, may be it is non-jsf id.
+ // So, returning the id as is
+ attachId = id;
+ // it might be the DOM object
+ attachObj = id;
+ }
+ }
+
+ String event = (String)attributes.get("event");
+ Boolean needsFunction = new Boolean(! "".equals(attributes.get("name")) && "".equals(event));
+ Boolean needsObserver = new Boolean(! "".equals(event) && ! "".equals(attachId) );
+
+ if (needsFunction || needsObserver) {
+
+ String targetObj = "";
+ String targetId = "";
- for (int i = 0; i < length; i++) {
- result.append(encoder.encode(string.charAt(i)));
+ id = (String) attributes.get("targetId");
+ targetId = findComponentId(id, context, component);
+ if (targetId == null) {
+ // if no corresponded component id, may be it is non-jsf id.
+ // So, returning the id as is
+ targetId = id;
+ // it might be the DOM object
+ targetObj = id;
}
-
- return result.toString();
- } else {
- return null;
+
+ Map<String, Object> options = new HashMap<String, Object>();
+ getUtils().addToScriptHash(options, "targetObj", targetObj, null , ScriptHashVariableWrapper.DEFAULT);
+ getUtils().addToScriptHash(options, "attachObj", attachObj, null , ScriptHashVariableWrapper.DEFAULT);
+ getUtils().addToScriptHash(options, "targetId", targetId, null , ScriptHashVariableWrapper.DEFAULT);
+ getUtils().addToScriptHash(options, "attachId", attachId, null , ScriptHashVariableWrapper.DEFAULT);
+ getUtils().addToScriptHash(options, "type", attributes.get("type"), null , ScriptHashVariableWrapper.DEFAULT);
+ getUtils().addToScriptHash(options, "event", attributes.get("event"), null , ScriptHashVariableWrapper.DEFAULT);
+ getUtils().addToScriptHash(options, "name", attributes.get("name"), null , ScriptHashVariableWrapper.DEFAULT);
+ getUtils().addToScriptHash(options, "params", new JSLiteral(convertParameters(context, (UIEffect)component)), null , ScriptHashVariableWrapper.DEFAULT);
+
+ JSFunction function = new JSFunction("Richfaces.effect.create");
+ if (!options.isEmpty()) {
+ function.addParameter(options);
+ }
+
+ ResponseWriter writer = context.getResponseWriter();
+
+ writer.startElement(HTML.SCRIPT_ELEM, component);
+ getUtils().writeAttribute(writer, HTML.TYPE_ATTR, "text/javascript");
+ writer.writeText(function.toScript(), component, null);
+ writer.endElement(HTML.SCRIPT_ELEM);
}
}
}
Modified: branches/community/3.3.X/ui/effect/src/main/resources/org/richfaces/renderkit/html/script/processEffect.js
===================================================================
--- branches/community/3.3.X/ui/effect/src/main/resources/org/richfaces/renderkit/html/script/processEffect.js 2009-07-16 13:12:10 UTC (rev 14939)
+++ branches/community/3.3.X/ui/effect/src/main/resources/org/richfaces/renderkit/html/script/processEffect.js 2009-07-16 13:20:08 UTC (rev 14940)
@@ -2,10 +2,73 @@
window.Richfaces = {};
}
-Richfaces.processEffect = function(pm) {
- new Effect[pm.type]($(pm.targetId),pm);
+Richfaces.processEffect = function(params) {
+ new Effect[params.type]($(params.targetId),params);
};
Richfaces.effectEventOnOut = function(ename) {
return ename.substr(0,2) == 'on' ? ename.substr(2) : ename;
};
+
+if (!Richfaces.effect) {
+ Richfaces.effect={};
+}
+
+Richfaces.effect.create = function (options) {
+ /* options:
+ event,
+ name,
+ targetId,
+ attachId,
+ attachObj,
+ targetObj,
+ type,
+ params */
+
+ if (!options) options = {};
+
+ var params = options.params || {};
+ options.params = null;
+
+ var attachObj;
+ var targetObj;
+ var targetId = options.targetId;
+ var attachId = options.attachId;
+
+ if (options.attachObj) {
+ try {
+ attachObj = eval(options.attachObj);
+ } catch (e) {}
+
+ if (typeof attachObj == 'object') {
+ attachId = attachObj;
+ }
+ }
+
+ if (options.targetObj) {
+ try {
+ targetObj = eval(options.targetObj);
+ } catch (e) {}
+
+ if (typeof targetObj == 'object') targetId = targetObj;
+ }
+
+ if (!targetId) targetId = attachId;
+
+ if (!params.targetId) params.targetId = targetId;
+ params.type = options.type;
+
+ if (!options.event) {
+ // create user function
+ with (window) {
+ eval(options.name + "=function(){return Richfaces.processEffect(Object.extend(this,arguments[0]||{}));}.bind(params)"); // ?? or just use params instead of this and binding
+ }
+ } else {
+ // attach eventListener
+ var ename = Richfaces.effectEventOnOut(options.event || "");
+ if (ename) {
+ var bindedFunction = function(event){ return Richfaces.processEffect(this); }.bindAsEventListener(params);
+ Event.observe(attachId, ename, bindedFunction, params.useCapture||false);
+ }
+ }
+}
Modified: branches/community/3.3.X/ui/effect/src/main/templates/effect.jspx
===================================================================
--- branches/community/3.3.X/ui/effect/src/main/templates/effect.jspx 2009-07-16 13:12:10 UTC (rev 14939)
+++ branches/community/3.3.X/ui/effect/src/main/templates/effect.jspx 2009-07-16 13:20:08 UTC (rev 14940)
@@ -8,106 +8,9 @@
class="org.richfaces.renderkit.html.EffectRenderer"
baseclass="org.richfaces.renderkit.EffectRendererBase"
component="org.richfaces.component.UIEffect">
- <f:clientid var="clientId"/>
-
- <c:set var="for" value="#{component.attributes['for']}"/>
- <c:set var="event" value="#{component.attributes['event']}"/>
- <c:set var="name" value="#{component.attributes['name']}"/>
- <c:set var="type" value="#{component.attributes['type']}"/>
- <c:set var="targetId" value="#{component.attributes['targetId']}"/>
- <c:set var="params" value="#{this:convertParameters(context, component)}"/>
<h:scripts>new org.ajax4jsf.javascript.PrototypeScript(),scripts/scriptaculous/effects.js,/org/richfaces/renderkit/html/script/processEffect.js</h:scripts>
-
-<jsp:scriptlet>
-<![CDATA[
- String sid = (String) variables.getVariable("for");
- variables.setVariable("attachObj","''");
- if (! "".equals(sid)) {
- UIComponent forcomp = getUtils().findComponentFor((UIComponent)component,sid);
- if (forcomp != null) {
- String cid= forcomp.getClientId(context);
- variables.setVariable("forPart",
- "{targetId:'"+cid+"',attachId:'"+cid+"'}");
- } else {
- // if no corresponded component id, may be it is non-jsf id.
- // So, returning the id as is
- variables.setVariable("forPart","{targetId:'"+sid+"',attachId:'"+sid+"'}");
- // it might be the DOM object
- variables.setVariable("attachObj",sid);
- }
- } else {
- variables.setVariable("forPart","{}");
- }
- String tid = (String) variables.getVariable("targetId");
- variables.setVariable("targetObj","''");
- if (! "".equals(tid)) {
- UIComponent targetcomp = getUtils().findComponentFor(component,tid);
- if (targetcomp != null) {
- variables.setVariable("targetPart","{targetId:'"+targetcomp.getClientId(context)+"'}");
- } else {
- // if no corresponded component id, may be it is non-jsf id.
- // So, returning the id as is
- variables.setVariable("targetPart","{targetId:'"+tid+"'}");
- variables.setVariable("targetObj",tid);
- }
- } else {
- variables.setVariable("targetPart","{}");
- }
+ <f:call name="writeScript"/>
- String type = (String) variables.getVariable("type");
- if (!"".equals(type)) {
- variables.setVariable("typePart","{type:'"+type+"'}");
- } else {
- variables.setVariable("typePart","{}");
- }
-
- String event = (String) variables.getVariable("event");
- String name = (String)variables.getVariable("name");
- Boolean needsFunction = new Boolean(! "".equals(name) && "".equals(event));
- variables.setVariable("needsFunction",needsFunction);
-
- Boolean needsObserver = new Boolean(! "".equals(event) && ! "".equals(sid) );
- variables.setVariable("needsObserver",needsObserver);
-]]>
-</jsp:scriptlet>
-<c:if test="#{needsFunction}">
-<script type="text/javascript" x:passThruWithExclusions="name,type,for">
- //<![CDATA[
-#{name} = function () { return Richfaces.processEffect(Object.extend(Object.extend( Object.extend(#{typePart},#{forPart}), Object.extend (#{targetPart},#{params})), arguments[0]||{})); };
-//]]>
-</script>
-</c:if>
-<c:if test="#{needsObserver}">
-<script type="text/javascript" x:passThruWithExclusions="name,type,for">
- //<![CDATA[
-{
-var pm = Object.extend( Object.extend(#{typePart},#{forPart}), #{targetPart} );
-/* pm.id can have a special meaning, let's check */
-//pm.id = #{this:convertElementParameter(pmId)};
-var attachObj;
-try {
- attachObj = eval('#{this:escapeJavaScript(attachObj)}');
-} catch (e) {
-}
-
-var targetObj;
-try {
- targetObj = eval('#{this:escapeJavaScript(targetObj)}');
-} catch (e) {
-}
-
-if (typeof attachObj == 'object') {pm.attachId = attachObj;if (targetObj == '') pm.targetId = attachObj; };
-if (typeof targetObj == 'object') pm.targetId = targetObj;
-
-pm = Object.extend(pm, #{params});
-var ename = Richfaces.effectEventOnOut('#{event}');
-var bindedFunction = function(event){ return Richfaces.processEffect(this); }.bindAsEventListener(pm);
-Event.observe(pm.attachId,ename, bindedFunction, pm.useCapture||false);
-}
-//]]>
-</script>
-</c:if>
-
</f:root>
15 years, 2 months
JBoss Rich Faces SVN: r14939 - branches/community/3.3.X/test-applications/jsp.
by richfaces-svn-commits@lists.jboss.org
Author: mvitenkov
Date: 2009-07-16 09:12:10 -0400 (Thu, 16 Jul 2009)
New Revision: 14939
Modified:
branches/community/3.3.X/test-applications/jsp/pom.xml
Log:
Modified: branches/community/3.3.X/test-applications/jsp/pom.xml
===================================================================
--- branches/community/3.3.X/test-applications/jsp/pom.xml 2009-07-16 12:45:47 UTC (rev 14938)
+++ branches/community/3.3.X/test-applications/jsp/pom.xml 2009-07-16 13:12:10 UTC (rev 14939)
@@ -18,13 +18,8 @@
<groupId>apache-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.0</version>
- </dependency>
+ </dependency>
<dependency>
- <groupId>apache-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
<groupId>myfaces</groupId>
<artifactId>myfaces-extensions</artifactId>
<version>1.0.9</version>
15 years, 2 months
JBoss Rich Faces SVN: r14938 - in branches/community/3.3.X/test-applications/jsp: src/main/webapp/WEB-INF and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: mvitenkov
Date: 2009-07-16 08:45:47 -0400 (Thu, 16 Jul 2009)
New Revision: 14938
Modified:
branches/community/3.3.X/test-applications/jsp/pom.xml
branches/community/3.3.X/test-applications/jsp/src/main/webapp/WEB-INF/web.xml
Log:
jsp supports jsf and myfaces now.
Modified: branches/community/3.3.X/test-applications/jsp/pom.xml
===================================================================
--- branches/community/3.3.X/test-applications/jsp/pom.xml 2009-07-16 12:28:21 UTC (rev 14937)
+++ branches/community/3.3.X/test-applications/jsp/pom.xml 2009-07-16 12:45:47 UTC (rev 14938)
@@ -15,16 +15,19 @@
</build>
<dependencies>
<dependency>
- <groupId>org.apache.myfaces.tomahawk</groupId>
- <artifactId>tomahawk</artifactId>
- <version>1.1.7</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+ <groupId>apache-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>apache-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>myfaces</groupId>
+ <artifactId>myfaces-extensions</artifactId>
+ <version>1.0.9</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: branches/community/3.3.X/test-applications/jsp/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/3.3.X/test-applications/jsp/src/main/webapp/WEB-INF/web.xml 2009-07-16 12:28:21 UTC (rev 14937)
+++ branches/community/3.3.X/test-applications/jsp/src/main/webapp/WEB-INF/web.xml 2009-07-16 12:45:47 UTC (rev 14938)
@@ -29,154 +29,154 @@
<param-value>true</param-value>
</context-param>
- <context-param>
+ <!--context-param>
<description>
- Only applicable if state saving method is "server" (=
- default). Defines the amount (default = 20) of the latest
- views are stored in session.
+ Only applicable if state saving method is "server" (=
+ default). Defines the amount (default = 20) of the latest
+ views are stored in session.
</description>
<param-name>
- org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION
+ org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION
</param-name>
<param-value>20</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Only applicable if state saving method is "server" (=
- default). If true (default) the state will be serialized to
- a byte stream before it is written to the session. If false
- the state will not be serialized to a byte stream.
+ Only applicable if state saving method is "server" (=
+ default). If true (default) the state will be serialized to
+ a byte stream before it is written to the session. If false
+ the state will not be serialized to a byte stream.
</description>
<param-name>
- org.apache.myfaces.SERIALIZE_STATE_IN_SESSION
+ org.apache.myfaces.SERIALIZE_STATE_IN_SESSION
</param-name>
<param-value>true</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Only applicable if state saving method is "server" (=
- default) and if
- org.apache.myfaces.SERIALIZE_STATE_IN_SESSION is true (=
- default) If true (default) the serialized state will be
- compressed before it is written to the session. If false the
- state will not be compressed.
+ Only applicable if state saving method is "server" (=
+ default) and if
+ org.apache.myfaces.SERIALIZE_STATE_IN_SESSION is true (=
+ default) If true (default) the serialized state will be
+ compressed before it is written to the session. If false the
+ state will not be compressed.
</description>
<param-name>
- org.apache.myfaces.COMPRESS_STATE_IN_SESSION
+ org.apache.myfaces.COMPRESS_STATE_IN_SESSION
</param-name>
<param-value>true</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- This parameter tells MyFaces if javascript code should be
- allowed in the rendered HTML output. If javascript is
- allowed, command_link anchors will have javascript code that
- submits the corresponding form. If javascript is not
- allowed, the state saving info and nested parameters will be
- added as url parameters. Default: "true"
+ This parameter tells MyFaces if javascript code should be
+ allowed in the rendered HTML output. If javascript is
+ allowed, command_link anchors will have javascript code that
+ submits the corresponding form. If javascript is not
+ allowed, the state saving info and nested parameters will be
+ added as url parameters. Default: "true"
</description>
<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
<param-value>true</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
<param-value>false</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- If true, rendered HTML code will be formatted, so that it is
- "human readable". i.e. additional line separators and
- whitespace will be written, that do not influence the HTML
- code. Default: "true"
+ If true, rendered HTML code will be formatted, so that it is
+ "human readable". i.e. additional line separators and
+ whitespace will be written, that do not influence the HTML
+ code. Default: "true"
</description>
<param-name>org.apache.myfaces.PRETTY_HTML</param-name>
<param-value>true</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- If true, a javascript function will be rendered that is able
- to restore the former vertical scroll on every request.
- Convenient feature if you have pages with long lists and you
- do not want the browser page to always jump to the top if
- you trigger a link or button action that stays on the same
- page. Default: "false"
+ If true, a javascript function will be rendered that is able
+ to restore the former vertical scroll on every request.
+ Convenient feature if you have pages with long lists and you
+ do not want the browser page to always jump to the top if
+ you trigger a link or button action that stays on the same
+ page. Default: "false"
</description>
<param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
<param-value>true</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Used for encrypting view state. Only relevant for client
- side state saving. See MyFaces wiki/web site documentation
- for instructions on how to configure an application for
- diffenent encryption strengths.
+ Used for encrypting view state. Only relevant for client
+ side state saving. See MyFaces wiki/web site documentation
+ for instructions on how to configure an application for
+ diffenent encryption strengths.
</description>
<param-name>org.apache.myfaces.SECRET</param-name>
<param-value>NzY1NDMyMTA=</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Validate managed beans, navigation rules and ensure that
- forms are not nested.
+ Validate managed beans, navigation rules and ensure that
+ forms are not nested.
</description>
<param-name>org.apache.myfaces.VALIDATE</param-name>
<param-value>true</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Treat readonly same as if disabled attribute was set for
- select elements.
+ Treat readonly same as if disabled attribute was set for
+ select elements.
</description>
<param-name>
- org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS
+ org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS
</param-name>
<param-value>true</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Use the defined class as the class which will be called when
- a resource is added to the ExtensionFilter handling. Using
- StreamingAddResource here helps with performance. If you
- want to add custom components and want to use the
- ExtensionFilter, you need to provide your custom
- implementation here.
+ Use the defined class as the class which will be called when
+ a resource is added to the ExtensionFilter handling. Using
+ StreamingAddResource here helps with performance. If you
+ want to add custom components and want to use the
+ ExtensionFilter, you need to provide your custom
+ implementation here.
</description>
<param-name>org.apache.myfaces.ADD_RESOURCE_CLASS</param-name>
<param-value>
- org.apache.myfaces.renderkit.html.util.DefaultAddResource
+ org.apache.myfaces.renderkit.html.util.DefaultAddResource
</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Virtual path in the URL which triggers loading of resources
- for the MyFaces extended components in the ExtensionFilter.
+ Virtual path in the URL which triggers loading of resources
+ for the MyFaces extended components in the ExtensionFilter.
</description>
<param-name>
- org.apache.myfaces.RESOURCE_VIRTUAL_PATH
+ org.apache.myfaces.RESOURCE_VIRTUAL_PATH
</param-name>
<param-value>/faces/myFacesExtensionResource</param-value>
- </context-param>
-
- <context-param>
+ </context-param>
+
+ <context-param>
<description>
- Check if the extensions-filter has been properly configured.
+ Check if the extensions-filter has been properly configured.
</description>
<param-name>
- org.apache.myfaces.CHECK_EXTENSIONS_FILTER
+ org.apache.myfaces.CHECK_EXTENSIONS_FILTER
</param-name>
<param-value>false</param-value>
- </context-param>
+ </context-param!-->
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
@@ -233,7 +233,7 @@
<filter>
<filter-name>extensionsFilter</filter-name>
<filter-class>
- org.apache.myfaces.webapp.filter.ExtensionsFilter
+ org.apache.myfaces.component.html.util.ExtensionsFilter
</filter-class>
<init-param>
<description>
@@ -247,13 +247,20 @@
<description>
Set the threshold size - files below this limit are
stored in memory, files above this limit are stored on
- disk.
-
- Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
+ disk. Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g -
+ 1 GB
</description>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
</init-param>
+
+ <init-param>
+ <param-name>uploadRepositoryPath</param-name>
+ <param-value>/temp</param-value>
+ <description>Set the path where the intermediary files will be stored.
+ </description>
+ </init-param>
+
</filter>
<filter-mapping>
@@ -267,19 +274,23 @@
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
- <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.faces</url-pattern>
</filter-mapping>
+ <filter-mapping>
+ <filter-name>extensionsFilter</filter-name>
+ <url-pattern>/faces/*</url-pattern>
+ </filter-mapping>
<session-config>
<session-timeout>500</session-timeout>
</session-config>
<!-- Listener, to allow Jetty serving MyFaces apps -->
- <listener>
+ <!--listener>
<listener-class>
- org.apache.myfaces.webapp.StartupServletContextListener
+ org.apache.myfaces.webapp.StartupServletContextListener
</listener-class>
- </listener>
+ </listener-->
<!-- Faces Servlet -->
<servlet>
15 years, 2 months