[richfaces-svn-commits] JBoss Rich Faces SVN: r2060 - in trunk: framework/impl/src/main/java/org/ajax4jsf/application and 35 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Fri Aug 3 21:05:53 EDT 2007
Author: alexsmirnov
Date: 2007-08-03 21:05:53 -0400 (Fri, 03 Aug 2007)
New Revision: 2060
Added:
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheContext.java
trunk/framework/impl/src/main/resources/META-INF/.faces-config.xml.jsfdia
trunk/ui/dataFilterSlider/src/main/java/META-INF/
trunk/ui/dataFilterSlider/src/main/java/META-INF/MANIFEST.MF
trunk/ui/dataTable/src/main/java/META-INF/
trunk/ui/dataTable/src/main/java/META-INF/MANIFEST.MF
trunk/ui/datascroller/src/main/java/META-INF/
trunk/ui/datascroller/src/main/java/META-INF/MANIFEST.MF
trunk/ui/drag-drop/src/main/java/META-INF/
trunk/ui/drag-drop/src/main/java/META-INF/MANIFEST.MF
trunk/ui/dropdown-menu/src/main/java/META-INF/
trunk/ui/dropdown-menu/src/main/java/META-INF/MANIFEST.MF
trunk/ui/gmap/src/main/java/META-INF/
trunk/ui/gmap/src/main/java/META-INF/MANIFEST.MF
trunk/ui/menu-components/src/main/java/META-INF/
trunk/ui/menu-components/src/main/java/META-INF/MANIFEST.MF
trunk/ui/modal-panel/src/main/java/META-INF/
trunk/ui/modal-panel/src/main/java/META-INF/MANIFEST.MF
trunk/ui/panel/src/main/java/META-INF/
trunk/ui/panel/src/main/java/META-INF/MANIFEST.MF
trunk/ui/panelbar/src/main/java/META-INF/
trunk/ui/panelbar/src/main/java/META-INF/MANIFEST.MF
trunk/ui/simpleTogglePanel/src/main/java/META-INF/
trunk/ui/simpleTogglePanel/src/main/java/META-INF/MANIFEST.MF
trunk/ui/spacer/src/main/java/META-INF/
trunk/ui/spacer/src/main/java/META-INF/MANIFEST.MF
trunk/ui/suggestionbox/src/main/java/META-INF/
trunk/ui/suggestionbox/src/main/java/META-INF/MANIFEST.MF
trunk/ui/togglePanel/src/main/java/META-INF/
trunk/ui/togglePanel/src/main/java/META-INF/MANIFEST.MF
trunk/ui/toolBar/src/main/java/META-INF/
trunk/ui/toolBar/src/main/java/META-INF/MANIFEST.MF
Removed:
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheKey.java
Modified:
trunk/framework/api/src/main/java/org/richfaces/skin/SkinFactory.java
trunk/framework/impl/src/main/java/org/ajax4jsf/application/DebugLifecycleFactory.java
trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ClientScript.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceBase.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceService.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/JarResource.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/TemplateCSSResource.java
trunk/framework/impl/src/main/java/org/richfaces/skin/SkinFactoryImpl.java
trunk/framework/impl/src/main/resources/META-INF/faces-config.xml
Log:
append skin name parameter "org.richfaces.SKIN"
fix "lastModified" property processing for a cacheable resources.
append method "findComponentFor" to the RendererUtils method.
Modified: trunk/framework/api/src/main/java/org/richfaces/skin/SkinFactory.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/skin/SkinFactory.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/api/src/main/java/org/richfaces/skin/SkinFactory.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -175,9 +175,9 @@
* instance of {@link Skin } - used this instance. by default -
* "org.exadel.chameleon.SKIN"
*/
- public static final String SKIN_PARAMETER = "org.ajax4jsf.SKIN";
+ public static final String SKIN_PARAMETER = "org.richfaces.SKIN";
- public static final String BASE_SKIN_PARAMETER = "org.ajax4jsf.BASE_SKIN";
+ public static final String BASE_SKIN_PARAMETER = "org.richfaces.BASE_SKIN";
/**
* Get base {@link Skin} implementation
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/DebugLifecycleFactory.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/DebugLifecycleFactory.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/DebugLifecycleFactory.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -50,7 +50,7 @@
*/
private DebugLifecycle getDebugLifecycle() {
if (_debugLifecycle == null) {
- _debugLifecycle = new DebugLifecycle(_defaultFactory);
+ _debugLifecycle = new DebugLifecycle(_defaultFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE));
}
return _debugLifecycle;
}
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -564,17 +564,7 @@
throw new NullPointerException(
"Base component for search re-rendered compnnent is null");
}
- UIComponent target = null;
- UIComponent parent = component;
- UIComponent root = component;
- while (null == target && null != parent) {
- target = parent.findComponent(id);
- root = parent;
- parent = parent.getParent();
- }
- if (null == target) {
- target = findUIComponentBelow(root, id);
- }
+ UIComponent target = findComponentFor(component, id);
if (null != target) {
return AjaxRendererUtils.getAbsoluteId(target);
}
@@ -582,6 +572,26 @@
return id;
}
+ /**
+ * @param component
+ * @param id
+ * @return
+ */
+ private UIComponent findComponentFor(UIComponent component, String id) {
+ UIComponent target = null;
+ UIComponent parent = component;
+ UIComponent root = component;
+ while (null == target && null != parent) {
+ target = parent.findComponent(id);
+ root = parent;
+ parent = parent.getParent();
+ }
+ if (null == target) {
+ target = findUIComponentBelow(root, id);
+ }
+ return target;
+ }
+
private UIComponent findUIComponentBelow(UIComponent root,
String id) {
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -25,11 +25,13 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
import javax.faces.FacesException;
import javax.faces.application.ViewHandler;
import javax.faces.component.EditableValueHolder;
+import javax.faces.component.NamingContainer;
import javax.faces.component.UIComponent;
import javax.faces.component.UIForm;
import javax.faces.component.UIViewRoot;
@@ -44,16 +46,16 @@
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.util.HtmlDimensions;
-
/**
* Util class for common render operations - render passthru html attributes,
* iterate over child components etc.
+ *
* @author asmirnov at exadel.com (latest modification by $Author: alexsmirnov $)
* @version $Revision: 1.1.2.6 $ $Date: 2007/02/08 19:07:16 $
- *
+ *
*/
public class RendererUtils {
-
+
public static final String DUMMY_FORM_ID = ":_form";
/**
* Substitutions for components properies names and HTML attributes names.
@@ -61,16 +63,18 @@
private static Map substitutions = new HashMap();
static {
- substitutions.put(HTML.class_ATTRIBUTE,"styleClass");
+ substitutions.put(HTML.class_ATTRIBUTE, "styleClass");
Arrays.sort(HTML.PASS_THRU);
Arrays.sort(HTML.PASS_THRU_BOOLEAN);
Arrays.sort(HTML.PASS_THRU_URI);
}
+
/**
* Common HTML elements and attributes names.
+ *
* @author asmirnov at exadel.com (latest modification by $Author: alexsmirnov $)
* @version $Revision: 1.1.2.6 $ $Date: 2007/02/08 19:07:16 $
- *
+ *
*/
public interface HTML {
// elements
@@ -78,13 +82,13 @@
// attributes
public static final String id_ATTRIBUTE = "id";
public static final String class_ATTRIBUTE = "class";
-// public static final String STYLE_ATTRIBUTE = "style";
-// public static final String dir_ATTRIBUTE = "dir";
-// public static final String lang_ATTRIBUTE = "lang";
-// public static final String title_ATTRIBUTE = "title";
- public static final String accesskey_ATTRIBUTE = "accesskey";
- public static final String alt_ATTRIBUTE = "alt";
- public static final String cols_ATTRIBUTE = "cols";
+ // public static final String STYLE_ATTRIBUTE = "style";
+ // public static final String dir_ATTRIBUTE = "dir";
+ // public static final String lang_ATTRIBUTE = "lang";
+ // public static final String title_ATTRIBUTE = "title";
+ public static final String accesskey_ATTRIBUTE = "accesskey";
+ public static final String alt_ATTRIBUTE = "alt";
+ public static final String cols_ATTRIBUTE = "cols";
public static final String height_ATTRIBUTE = "height";
@@ -126,8 +130,8 @@
public static final String onselect_ATTRIBUTE = "onselect";
- // public static final String onsubmit_ATTRIBUTE = "onsubmit";
- public static final String onunload_ATTRIBUTE = "onunload";
+ // public static final String onsubmit_ATTRIBUTE = "onsubmit";
+ public static final String onunload_ATTRIBUTE = "onunload";
public static final String rows_ATTRIBUTE = "rows";
@@ -177,107 +181,42 @@
public static final String src_ATTRIBUTE = "src";
- //public static final String onreset_ATTRIBUTE = "onreset";
- // attributes sets.
+ // public static final String onreset_ATTRIBUTE = "onreset";
+ // attributes sets.
public static final String[] PASS_THRU = {
-// DIR_ATTRIBUTE,
-// LANG_ATTRIBUTE,
-// STYLE_ATTRIBUTE,
-// TITLE_ATTRIBUTE
- "accesskey",
- "alt",
- "cols",
- "height",
- "lang",
- "longdesc",
- "maxlength",
- "onblur",
- "onchange",
- "onclick",
- "ondblclick",
- "onfocus",
- "onkeydown",
- "onkeypress",
- "onkeyup",
- "onload",
- "onmousedown",
- "onmousemove",
- "onmouseout",
- "onmouseover",
- "onmouseup",
- "onreset",
- "onselect",
- "onsubmit",
- "onunload",
- "rows",
- "size",
- "tabindex",
- "title",
- "width",
- "dir",
- "rules",
- "frame",
- "border",
- "cellspacing",
- "cellpadding",
- "summary",
- "bgcolor",
- "usemap",
- "enctype",
- "accept-charset",
- "accept",
- "target",
- "charset",
- "coords",
- "hreflang",
- "rel",
- "rev",
- "shape",
- "disabled",
- "readonly",
- "ismap"
+ // DIR_ATTRIBUTE,
+ // LANG_ATTRIBUTE,
+ // STYLE_ATTRIBUTE,
+ // TITLE_ATTRIBUTE
+ "accesskey", "alt", "cols", "height", "lang", "longdesc",
+ "maxlength", "onblur", "onchange", "onclick", "ondblclick",
+ "onfocus", "onkeydown", "onkeypress", "onkeyup", "onload",
+ "onmousedown", "onmousemove", "onmouseout", "onmouseover",
+ "onmouseup", "onreset", "onselect", "onsubmit", "onunload",
+ "rows", "size", "tabindex", "title", "width", "dir", "rules",
+ "frame", "border", "cellspacing", "cellpadding", "summary",
+ "bgcolor", "usemap", "enctype", "accept-charset", "accept",
+ "target", "charset", "coords", "hreflang", "rel", "rev",
+ "shape", "disabled", "readonly", "ismap"
};
-
+
/**
- * HTML attributes allowed boolean-values only
+ * HTML attributes allowed boolean-values only
*/
- public static final String[] PASS_THRU_BOOLEAN = {
- "disabled",
- "declare",
- "readonly",
- "compact",
- "ismap",
- "selected",
- "checked",
- "nowrap",
- "noresize",
- "nohref",
- "noshade",
- "multiple"
- };
-
-
+ public static final String[] PASS_THRU_BOOLEAN = { "disabled",
+ "declare", "readonly", "compact", "ismap", "selected",
+ "checked", "nowrap", "noresize", "nohref", "noshade",
+ "multiple" };
+
/**
- * all HTML attributes with URI value.
+ * all HTML attributes with URI value.
*/
- public static final String[] PASS_THRU_URI = {
- "usemap",
- "background",
- "codebase",
- "cite",
- "data",
- "classid",
- "href",
- "longdesc",
- "profile",
- "src"
- };
+ public static final String[] PASS_THRU_URI = { "usemap", "background",
+ "codebase", "cite", "data", "classid", "href", "longdesc",
+ "profile", "src" };
- public static final String[] PASS_THRU_STYLES = {
- "style",
- "class",
- };
+ public static final String[] PASS_THRU_STYLES = { "style", "class", };
public static final String SPAN_ELEM = "span";
public static final String DIV_ELEM = "div";
@@ -313,107 +252,126 @@
}
/**
- * Encode id attribute with clientId component property
+ * Encode id attribute with clientId component property
+ *
* @param context
* @param component
* @throws IOException
*/
- public void encodeId(FacesContext context, UIComponent component) throws IOException {
- encodeId(context,component,HTML.id_ATTRIBUTE);
+ public void encodeId(FacesContext context, UIComponent component)
+ throws IOException {
+ encodeId(context, component, HTML.id_ATTRIBUTE);
}
-
+
/**
* Encode clientId to custom attribute ( for example, to control name )
+ *
* @param context
* @param component
* @param attribute
* @throws IOException
*/
- public void encodeId(FacesContext context,UIComponent component, String attribute) throws IOException {
+ public void encodeId(FacesContext context, UIComponent component,
+ String attribute) throws IOException {
String clientId = null;
try {
clientId = component.getClientId(context);
- } catch(Exception e) {
- //just ignore if clientId wasn't inited yet
+ } catch (Exception e) {
+ // just ignore if clientId wasn't inited yet
}
if (null != clientId) {
- context.getResponseWriter().writeAttribute(attribute,
- clientId,
- (String) getComponentAttributeName(attribute));
+ context.getResponseWriter().writeAttribute(attribute, clientId,
+ (String) getComponentAttributeName(attribute));
}
}
+
/**
- * Encode id attribute with clientId component property.
- * Encoded only if id not auto generated.
+ * Encode id attribute with clientId component property. Encoded only if id
+ * not auto generated.
+ *
* @param context
* @param component
* @throws IOException
*/
- public void encodeCustomId(FacesContext context, UIComponent component) throws IOException {
- if(component.getId() != null && !component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX)){
- context.getResponseWriter().writeAttribute(HTML.id_ATTRIBUTE,component.getClientId(context),HTML.id_ATTRIBUTE);
+ public void encodeCustomId(FacesContext context, UIComponent component)
+ throws IOException {
+ if (component.getId() != null
+ && !component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX)) {
+ context.getResponseWriter().writeAttribute(HTML.id_ATTRIBUTE,
+ component.getClientId(context), HTML.id_ATTRIBUTE);
}
}
-
+
/**
* Encode common pass-thru html attributes.
+ *
* @param context
* @param component
* @throws IOException
*/
- public void encodePassThru(FacesContext context, UIComponent component) throws IOException {
- encodeAttributesFromArray(context,component,HTML.PASS_THRU);
+ public void encodePassThru(FacesContext context, UIComponent component)
+ throws IOException {
+ encodeAttributesFromArray(context, component, HTML.PASS_THRU);
}
-
+
/**
* Encode pass-through attributes except specified ones
+ *
* @param context
* @param component
* @param exclusions
* @throws IOException
*/
- public void encodePassThruWithExclusions(FacesContext context, UIComponent component,String exclusions) throws IOException{
+ public void encodePassThruWithExclusions(FacesContext context,
+ UIComponent component, String exclusions) throws IOException {
if (null != exclusions) {
String[] exclusionsArray = exclusions.split(",");
- encodePassThruWithExclusionsArray(context,component,exclusionsArray);
+ encodePassThruWithExclusionsArray(context, component,
+ exclusionsArray);
}
}
- public void encodePassThruWithExclusionsArray(FacesContext context, UIComponent component,String[] exclusions) throws IOException {
+ public void encodePassThruWithExclusionsArray(FacesContext context,
+ UIComponent component, String[] exclusions) throws IOException {
ResponseWriter writer = context.getResponseWriter();
Map attributes = component.getAttributes();
Arrays.sort(exclusions);
for (int i = 0; i < HTML.PASS_THRU.length; i++) {
String attribute = HTML.PASS_THRU[i];
- if(Arrays.binarySearch(exclusions, attribute) < 0){
+ if (Arrays.binarySearch(exclusions, attribute) < 0) {
encodePassThruAttribute(context, attributes, writer, attribute);
}
}
}
/**
- * Encode one pass-thru attribute, with plain/boolean/url value, got from properly component attribute.
+ * Encode one pass-thru attribute, with plain/boolean/url value, got from
+ * properly component attribute.
+ *
* @param context
* @param component
* @param writer
* @param attribute
* @throws IOException
*/
- public void encodePassThruAttribute(FacesContext context, Map attributes, ResponseWriter writer, String attribute) throws IOException {
- Object value = attributeValue(attribute,attributes.get(getComponentAttributeName(attribute)));
+ public void encodePassThruAttribute(FacesContext context, Map attributes,
+ ResponseWriter writer, String attribute) throws IOException {
+ Object value = attributeValue(attribute, attributes
+ .get(getComponentAttributeName(attribute)));
if (null != value && shouldRenderAttribute(value)) {
- if(Arrays.binarySearch(HTML.PASS_THRU_URI, attribute)>=0){
- String url = context.getApplication().getViewHandler().getResourceURL(context, value.toString());
+ if (Arrays.binarySearch(HTML.PASS_THRU_URI, attribute) >= 0) {
+ String url = context.getApplication().getViewHandler()
+ .getResourceURL(context, value.toString());
url = context.getExternalContext().encodeResourceURL(url);
- writer.writeURIAttribute(attribute,url,attribute);
+ writer.writeURIAttribute(attribute, url, attribute);
} else {
- writer.writeAttribute(attribute,value,attribute);
+ writer.writeAttribute(attribute, value, attribute);
}
}
}
-
- public void encodeAttributesFromArray(FacesContext context, UIComponent component,String[] attrs) throws IOException {
+ public void encodeAttributesFromArray(FacesContext context,
+ UIComponent component, String[] attrs) throws IOException {
ResponseWriter writer = context.getResponseWriter();
Map attributes = component.getAttributes();
for (int i = 0; i < attrs.length; i++) {
@@ -422,76 +380,89 @@
}
}
-
/**
* Encode attributes given by comma-separated string list.
- * @param context current JSF context
- * @param component for with render attributes values
- * @param attrs comma separated list of attributes
+ *
+ * @param context
+ * current JSF context
+ * @param component
+ * for with render attributes values
+ * @param attrs
+ * comma separated list of attributes
* @throws IOException
*/
- public void encodeAttributes(FacesContext context, UIComponent component,String attrs) throws IOException {
+ public void encodeAttributes(FacesContext context, UIComponent component,
+ String attrs) throws IOException {
if (null != attrs) {
String[] attrsArray = attrs.split(",");
- encodeAttributesFromArray(context,component,attrsArray);
+ encodeAttributesFromArray(context, component, attrsArray);
}
}
+
/**
* @param context
* @param component
* @param string
* @param string2
- * @throws IOException
+ * @throws IOException
*/
- public void encodeAttribute(FacesContext context, UIComponent component, Object property, String attributeName) throws IOException {
+ public void encodeAttribute(FacesContext context, UIComponent component,
+ Object property, String attributeName) throws IOException {
ResponseWriter writer = context.getResponseWriter();
Object value = component.getAttributes().get(property);
if (shouldRenderAttribute(value)) {
- writer.writeAttribute(attributeName,value,property.toString());
+ writer.writeAttribute(attributeName, value, property.toString());
}
-
+
}
- public void encodeAttribute(FacesContext context, UIComponent component,String attribute) throws IOException {
- encodeAttribute(context,component,getComponentAttributeName(attribute),attribute);
+ public void encodeAttribute(FacesContext context, UIComponent component,
+ String attribute) throws IOException {
+ encodeAttribute(context, component,
+ getComponentAttributeName(attribute), attribute);
}
+
/**
* Write html-attribute
+ *
* @param writer
* @param attribute
* @param value
* @throws IOException
*/
- public void writeAttribute(ResponseWriter writer, String attribute, Object value ) throws IOException {
- if ( shouldRenderAttribute(value) ) {
- writer.writeAttribute(attribute, value.toString(), attribute );
+ public void writeAttribute(ResponseWriter writer, String attribute,
+ Object value) throws IOException {
+ if (shouldRenderAttribute(value)) {
+ writer.writeAttribute(attribute, value.toString(), attribute);
}
}
- /**
- * @return true if and only if the argument
- * <code>attributeVal</code> is an instance of a wrapper for a
- * primitive type and its value is equal to the default value for
- * that type as given in the spec.
- */
+ /**
+ * @return true if and only if the argument <code>attributeVal</code> is
+ * an instance of a wrapper for a primitive type and its value is
+ * equal to the default value for that type as given in the spec.
+ */
- public boolean shouldRenderAttribute(Object attributeVal) {
- if(null == attributeVal){
- return false;
- } else if (attributeVal instanceof Boolean &&
- ((Boolean) attributeVal).booleanValue() ==
- Boolean.FALSE.booleanValue()) {
- return false;
- } else if(attributeVal.toString().length() == 0){
+ public boolean shouldRenderAttribute(Object attributeVal) {
+ if (null == attributeVal) {
return false;
- } else return isValidProperty(attributeVal);
- }
-
-
+ } else if (attributeVal instanceof Boolean
+ && ((Boolean) attributeVal).booleanValue() == Boolean.FALSE
+ .booleanValue()) {
+ return false;
+ } else if (attributeVal.toString().length() == 0) {
+ return false;
+ } else
+ return isValidProperty(attributeVal);
+ }
+
/**
- * Test for valid value of property. by default, for non-setted properties with Java primitive types of
- * JSF component return appropriate MIN_VALUE .
- * @param property - value of property returned from {@link UIComponent#getAttributes()}
+ * Test for valid value of property. by default, for non-setted properties
+ * with Java primitive types of JSF component return appropriate MIN_VALUE .
+ *
+ * @param property -
+ * value of property returned from
+ * {@link UIComponent#getAttributes()}
* @return true for setted property, false otherthise.
*/
public boolean isValidProperty(Object property) {
@@ -530,7 +501,7 @@
*/
protected Object getComponentAttributeName(Object key) {
Object converted = substitutions.get(key);
- if (null==converted) {
+ if (null == converted) {
return key;
} else {
return converted;
@@ -538,41 +509,47 @@
}
/**
- * Convert attribute value to proper object. For known html boolean attributes return name
- * for true value, otherthise - null. For non-boolean attributes return same value.
- * @param name attribute name.
+ * Convert attribute value to proper object. For known html boolean
+ * attributes return name for true value, otherthise - null. For non-boolean
+ * attributes return same value.
+ *
+ * @param name
+ * attribute name.
* @param value
* @return
*/
- protected Object attributeValue(String name, Object value){
- if (null != value && Arrays.binarySearch(HTML.PASS_THRU_BOOLEAN,name)>=0) {
+ protected Object attributeValue(String name, Object value) {
+ if (null != value
+ && Arrays.binarySearch(HTML.PASS_THRU_BOOLEAN, name) >= 0) {
boolean checked = false;
if (value instanceof Boolean) {
- checked = ((Boolean) value).booleanValue();
- } else {
- if( ! (value instanceof String) ){
+ checked = ((Boolean) value).booleanValue();
+ } else {
+ if (!(value instanceof String)) {
value = value.toString();
}
checked = (new Boolean((String) value)).booleanValue();
}
- return checked?name:null;
+ return checked ? name : null;
} else {
return value;
}
}
-
-
+
/**
* Get boolean value of logical attribute
- * @param component
- * @param name attribute name
- * @return true if attribute is equals Boolean.TRUE or String "true" , false otherwise.
+ *
+ * @param component
+ * @param name
+ * attribute name
+ * @return true if attribute is equals Boolean.TRUE or String "true" , false
+ * otherwise.
*/
- public boolean isBooleanAttribute(UIComponent component, String name){
+ public boolean isBooleanAttribute(UIComponent component, String name) {
Object attrValue = component.getAttributes().get(name);
boolean result = false;
- if(null != attrValue){
- if(attrValue instanceof String ){
+ if (null != attrValue) {
+ if (attrValue instanceof String) {
result = "true".equalsIgnoreCase((String) attrValue);
} else {
result = Boolean.TRUE.equals(attrValue);
@@ -580,10 +557,11 @@
}
return result;
}
-
+
/**
- * Return converted value for {@link javax.faces.component.ValueHolder} as String,
- * perform nessesary convertions.
+ * Return converted value for {@link javax.faces.component.ValueHolder} as
+ * String, perform nessesary convertions.
+ *
* @param context
* @param component
* @return
@@ -593,27 +571,33 @@
if (component instanceof EditableValueHolder) {
EditableValueHolder input = (EditableValueHolder) component;
String submittedValue = (String) input.getSubmittedValue();
- if(null != submittedValue) {
+ if (null != submittedValue) {
return submittedValue;
}
}
// If no submitted value presented - convert same for UIInput/UIOutput
if (component instanceof ValueHolder) {
- return formatValue(context, component, ((ValueHolder) component).getValue() );
+ return formatValue(context, component, ((ValueHolder) component)
+ .getValue());
} else {
- throw new IllegalArgumentException(Messages.getMessage(Messages.CONVERTING_NON_VALUE_HOLDER_COMPONENT_ERROR, component.getId()));
+ throw new IllegalArgumentException(Messages.getMessage(
+ Messages.CONVERTING_NON_VALUE_HOLDER_COMPONENT_ERROR,
+ component.getId()));
}
}
/**
- * Convert any object value to string. If component instance of {@link ValueHolder } got {@link Converter} for formatting.
- * If not, attempt to use converter based on value type.
+ * Convert any object value to string. If component instance of
+ * {@link ValueHolder } got {@link Converter} for formatting. If not,
+ * attempt to use converter based on value type.
+ *
* @param context
* @param component
* @return
*/
- public String formatValue(FacesContext context, UIComponent component,Object value) {
- if(value instanceof String) {
+ public String formatValue(FacesContext context, UIComponent component,
+ Object value) {
+ if (value instanceof String) {
return (String) value;
}
Converter converter = null;
@@ -621,7 +605,7 @@
ValueHolder holder = (ValueHolder) component;
converter = holder.getConverter();
}
- if(null == converter && null != value ) {
+ if (null == converter && null != value) {
try {
converter = context.getApplication().createConverter(
value.getClass());
@@ -629,8 +613,8 @@
// TODO - log converter exception.
}
}
- if(null == converter) {
- if(null != value) {
+ if (null == converter) {
+ if (null != value) {
return value.toString();
}
} else {
@@ -638,68 +622,73 @@
}
return "";
}
-
- public void encodeDimensions(FacesContext context, UIComponent component, InternetResource resource) throws IOException {
+
+ public void encodeDimensions(FacesContext context, UIComponent component,
+ InternetResource resource) throws IOException {
if (resource instanceof Java2Dresource) {
Java2Dresource j2d = (Java2Dresource) resource;
Dimension dim = j2d.getDimensions(context, component);
ResponseWriter writer = context.getResponseWriter();
writer.writeAttribute("width", String.valueOf(dim.width), "width");
- writer.writeAttribute("height", String.valueOf(dim.height), "height");
+ writer.writeAttribute("height", String.valueOf(dim.height),
+ "height");
}
}
- public String encodePx(String value){
+
+ public String encodePx(String value) {
return HtmlDimensions.formatPx(HtmlDimensions.decode(value));
}
+
/**
- * formats given value to
+ * formats given value to
+ *
* @param value
* @param pattern
* @return
*/
- public String encodePctOrPx(String value){
- if(value.indexOf('%') > 0){
+ public String encodePctOrPx(String value) {
+ if (value.indexOf('%') > 0) {
return value;
} else {
return encodePx(value);
}
}
-
- /**
- * Find nested form for given component
- * @param component
- * @return nested <code>UIForm</code> component, or <code>null</code>
- */
- public UIForm getNestingForm(FacesContext context,UIComponent component)
- {
- UIComponent parent = component.getParent();
- while (parent != null && !(parent instanceof UIForm))
- {
- parent = parent.getParent();
- }
- UIForm nestingForm = null;
- if (parent != null)
- {
- //link is nested inside a form
- nestingForm = (UIForm) parent;
- }
- return nestingForm;
- }
+ /**
+ * Find nested form for given component
+ *
+ * @param component
+ * @return nested <code>UIForm</code> component, or <code>null</code>
+ */
+ public UIForm getNestingForm(FacesContext context, UIComponent component) {
+ UIComponent parent = component.getParent();
+ while (parent != null && !(parent instanceof UIForm)) {
+ parent = parent.getParent();
+ }
+ UIForm nestingForm = null;
+ if (parent != null) {
+ // link is nested inside a form
+ nestingForm = (UIForm) parent;
+ }
+ return nestingForm;
+ }
+
/**
* @param context
* @param component
* @return
- * @throws IOException
+ * @throws IOException
*/
- public void encodeBeginFormIfNessesary(FacesContext context, UIComponent component) throws IOException {
+ public void encodeBeginFormIfNessesary(FacesContext context,
+ UIComponent component) throws IOException {
UIForm form = getNestingForm(context, component);
- if(null == form) {
- ResponseWriter writer = context.getResponseWriter();
- String clientId = component.getClientId(context)+DUMMY_FORM_ID;
- encodeBeginForm(context, component, writer, clientId);
-// writer.writeAttribute(HTML.style_ATTRIBUTE, "margin:0; padding:0;", null);
+ if (null == form) {
+ ResponseWriter writer = context.getResponseWriter();
+ String clientId = component.getClientId(context) + DUMMY_FORM_ID;
+ encodeBeginForm(context, component, writer, clientId);
+ // writer.writeAttribute(HTML.style_ATTRIBUTE, "margin:0;
+ // padding:0;", null);
}
}
@@ -710,31 +699,34 @@
* @param clientId
* @throws IOException
*/
- public void encodeBeginForm(FacesContext context, UIComponent component, ResponseWriter writer, String clientId) throws IOException {
+ public void encodeBeginForm(FacesContext context, UIComponent component,
+ ResponseWriter writer, String clientId) throws IOException {
String actionURL = getActionUrl(context);
- String encodeActionURL = context.getExternalContext().encodeActionURL(actionURL);
+ String encodeActionURL = context.getExternalContext().encodeActionURL(
+ actionURL);
writer.startElement(HTML.FORM_ELEMENT, component);
writer.writeAttribute(HTML.id_ATTRIBUTE, clientId, null);
writer.writeAttribute(HTML.NAME_ATTRIBUTE, clientId, null);
writer.writeAttribute(HTML.METHOD_ATTRIBUTE, "post", null);
- writer.writeAttribute(HTML.style_ATTRIBUTE, "margin:0; padding:0;", null);
- writer.writeURIAttribute(HTML.ACTION_ATTRIBUTE,
- encodeActionURL,
- "action");
+ writer.writeAttribute(HTML.style_ATTRIBUTE, "margin:0; padding:0;",
+ null);
+ writer.writeURIAttribute(HTML.ACTION_ATTRIBUTE, encodeActionURL,
+ "action");
}
/**
* @param context
* @param component
- * @throws IOException
+ * @throws IOException
*/
- public void encodeEndFormIfNessesary(FacesContext context, UIComponent component) throws IOException {
+ public void encodeEndFormIfNessesary(FacesContext context,
+ UIComponent component) throws IOException {
UIForm form = getNestingForm(context, component);
- if(null == form) {
- ResponseWriter writer = context.getResponseWriter();
+ if (null == form) {
+ ResponseWriter writer = context.getResponseWriter();
// TODO - hidden form parameters ?
- encodeEndForm(context, writer);
+ encodeEndForm(context, writer);
}
}
@@ -743,64 +735,118 @@
* @param writer
* @throws IOException
*/
- public void encodeEndForm(FacesContext context, ResponseWriter writer) throws IOException {
+ public void encodeEndForm(FacesContext context, ResponseWriter writer)
+ throws IOException {
AjaxRendererUtils.writeState(context);
writer.endElement(HTML.FORM_ELEMENT);
}
- /**
- * @param facesContext
- * @return String A String representing the action URL
- */
- public String getActionUrl(FacesContext facesContext)
- {
- ViewHandler viewHandler = facesContext.getApplication().getViewHandler();
- String viewId = facesContext.getViewRoot().getViewId();
- return viewHandler.getActionURL(facesContext, viewId);
- }
- /**
- *
- * @param context
- * @param value
- * @return URL of target resource (src, href, etc)
- */
- public String encodeResourceURL(TemplateContext context, Object value){
- if(value == null){
- return "";
- }
- FacesContext facesContext = context.getFacesContext();
- value = facesContext.getApplication().getViewHandler().getResourceURL(facesContext, value.toString());
- return facesContext.getExternalContext().encodeResourceURL((String)value);
- }
- /**
- * Simplified version of {@link encodeId}
- * @param context
- * @param component
- * @return client id of current component
- */
- public String clientId(FacesContext context, UIComponent component){
- String clientId = "";
- try {
+ /**
+ * @param facesContext
+ * @return String A String representing the action URL
+ */
+ public String getActionUrl(FacesContext facesContext) {
+ ViewHandler viewHandler = facesContext.getApplication()
+ .getViewHandler();
+ String viewId = facesContext.getViewRoot().getViewId();
+ return viewHandler.getActionURL(facesContext, viewId);
+ }
+
+ /**
+ *
+ * @param context
+ * @param value
+ * @return URL of target resource (src, href, etc)
+ */
+ public String encodeResourceURL(TemplateContext context, Object value) {
+ if (value == null) {
+ return "";
+ }
+ FacesContext facesContext = context.getFacesContext();
+ value = facesContext.getApplication().getViewHandler().getResourceURL(
+ facesContext, value.toString());
+ return facesContext.getExternalContext().encodeResourceURL(
+ (String) value);
+ }
+
+ /**
+ * Simplified version of {@link encodeId}
+ *
+ * @param context
+ * @param component
+ * @return client id of current component
+ */
+ public String clientId(FacesContext context, UIComponent component) {
+ String clientId = "";
+ try {
clientId = component.getClientId(context);
} catch (Exception e) {
- //just ignore
+ // just ignore
}
return clientId;
- }
+ }
/**
* Wtrie JavaScript with start/end elements and type.
+ *
* @param context
* @param tab
* @param string
*/
- public void writeScript(FacesContext context, UIComponent component, Object script) throws IOException {
+ public void writeScript(FacesContext context, UIComponent component,
+ Object script) throws IOException {
ResponseWriter writer = context.getResponseWriter();
- writer.startElement(HTML.SCRIPT_ELEM,component);
- writer.writeAttribute(HTML.TYPE_ATTR,"text/javascript","type");
- writer.writeText(script,null);
+ writer.startElement(HTML.SCRIPT_ELEM, component);
+ writer.writeAttribute(HTML.TYPE_ATTR, "text/javascript", "type");
+ writer.writeText(script, null);
writer.endElement(HTML.SCRIPT_ELEM);
}
+ /**
+ * @param component
+ * @param id
+ * @return
+ */
+ public UIComponent findComponentFor(FacesContext context,
+ UIComponent component, String id) {
+ UIComponent target = null;
+ UIComponent parent = component;
+ UIComponent root = component;
+ while (null == target && null != parent) {
+ target = parent.findComponent(id);
+ root = parent;
+ parent = parent.getParent();
+ }
+ if (null == target) {
+ target = findUIComponentBelow(root, id);
+ }
+ return target;
+ }
+
+ private UIComponent findUIComponentBelow(UIComponent root, String id) {
+ UIComponent target = null;
+ for (Iterator iter = root.getFacetsAndChildren(); iter.hasNext();) {
+ UIComponent child = (UIComponent) iter.next();
+ if (child instanceof NamingContainer) {
+ try {
+ target = child.findComponent(id);
+ } catch (IllegalArgumentException iae) {
+ continue;
+ }
+ }
+ if (target == null) {
+ if (child.getChildCount() > 0) {
+ target = findUIComponentBelow(child, id);
+ }
+ }
+
+ if (target != null) {
+ break;
+ }
+
+ }
+ return target;
+ }
+
}
\ No newline at end of file
Copied: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheContext.java (from rev 2057, trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheKey.java)
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheContext.java (rev 0)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheContext.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package org.ajax4jsf.resource;
+
+
+/**
+ * @author Nick - mailto:nbelaevski at exadel.com
+ * created 01.05.2007
+ *
+ */
+public class CacheContext {
+ private CachedResourceContext resourceContext;
+ private InternetResource resource;
+ public CacheContext(CachedResourceContext resourceContext,
+ InternetResource resource) {
+ super();
+ this.resourceContext = resourceContext;
+ this.resource = resource;
+ }
+ /**
+ * @return the resourceContext
+ */
+ public CachedResourceContext getResourceContext() {
+ return resourceContext;
+ }
+ public InternetResource getResource() {
+ return resource;
+ }
+
+}
Deleted: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheKey.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheKey.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CacheKey.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -1,43 +0,0 @@
-/**
- *
- */
-package org.ajax4jsf.resource;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.ajax4jsf.resource.InternetResource;
-
-/**
- * @author Nick - mailto:nbelaevski at exadel.com
- * created 01.05.2007
- *
- */
-public class CacheKey {
- private Object resourceData;
- private HttpServletRequest request;
- private HttpServletResponse response;
- private InternetResource resource;
- public CacheKey(Object resourceData,
- HttpServletRequest request, HttpServletResponse response,
- InternetResource resource) {
- super();
- this.resourceData = resourceData;
- this.request = request;
- this.response = response;
- this.resource = resource;
- }
- public Object getResourceData() {
- return resourceData;
- }
- public HttpServletRequest getRequest() {
- return request;
- }
- public HttpServletResponse getResponse() {
- return response;
- }
- public InternetResource getResource() {
- return resource;
- }
-
-}
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ClientScript.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ClientScript.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ClientScript.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -82,7 +82,7 @@
*/
public Date getLastModified(ResourceContext resourceContext) {
- if (isCacheable(null)) {
+ if (isCacheable(resourceContext)) {
return super.getLastModified(resourceContext);
} else {
return new Date(System.currentTimeMillis()+1000L);
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceBase.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceBase.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceBase.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -59,7 +59,7 @@
private int contentLength = -1;
- private Date lastModified;
+ private Date lastModified = new Date(System.currentTimeMillis());
private Date expired;
@@ -383,7 +383,7 @@
* @see org.ajax4jsf.chameleon.resource.InternetResource#sendHeaders(javax.servlet.http.HttpServletResponse)
*/
public void sendHeaders(ResourceContext context) {
- boolean cached = context.isCacheEnabled() && isCacheable(null);
+ boolean cached = context.isCacheEnabled() && isCacheable(context);
if (log.isDebugEnabled()) {
log.debug(Messages.getMessage(Messages.SET_RESPONSE_HEADERS_INFO,
getKey()));
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceService.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceService.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/resource/InternetResourceService.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -57,324 +57,288 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+public class InternetResourceService implements CacheLoader,
+ CacheConfigurationLoader {
+ private static final Log log = LogFactory
+ .getLog(InternetResourceService.class);
-public class InternetResourceService implements CacheLoader, CacheConfigurationLoader {
- private static final Log log = LogFactory
- .getLog(InternetResourceService.class);
+ static final String ENABLE_CACHING_PARAMETER = "enable-cache";
- static final String ENABLE_CACHING_PARAMETER = "enable-cache";
+ private static final String RESOURCE_LIFECYCLE_PARAMETER = "org.ajax4jsf.RESOURCE_LIFECYCLE";
- private static final String RESOURCE_LIFECYCLE_PARAMETER = "org.ajax4jsf.RESOURCE_LIFECYCLE";
+ private FilterConfig filterConfig;
- private FilterConfig filterConfig;
+ private boolean cacheEnabled = true;
- private boolean cacheEnabled = true;
+ private Cache cache = null;
- private Cache cache = null;
-
- //private ServletCacheAdministrator cacheAdmin;
+ // private ServletCacheAdministrator cacheAdmin;
- private FacesContextFactory contextFactory;
+ private FacesContextFactory contextFactory;
- // private RenderKitFactory renderKitFactory;
- private String lifecycleClass;
+ // private RenderKitFactory renderKitFactory;
+ private String lifecycleClass;
- private ResourceLifecycle lifecycle;
+ private ResourceLifecycle lifecycle;
- private InternetResourceBuilder resourceBuilder;
-
- private WebXml webXml;
+ private InternetResourceBuilder resourceBuilder;
- public InternetResourceService() {
- }
+ private WebXml webXml;
- public void setCacheEnabled(boolean b) {
- cacheEnabled = b;
- }
+ public InternetResourceService() {
+ }
- public void init(FilterConfig config) throws ServletException {
- filterConfig = config;
- ServletContext servletContext = config.getServletContext();
- if ("false".equalsIgnoreCase(config
- .getInitParameter(ENABLE_CACHING_PARAMETER))) {
- setCacheEnabled(false);
- // this.cacheEnabled = false;
- //this.cacheAdmin = null;
- } else {
- //this.cacheAdmin = ServletCacheAdministrator.getInstance(
- // servletContext, cacheProperties);
- try {
- CacheManager cacheManager = CacheManager.getInstance();
- Map env = new ServletContextInitMap(servletContext);
- CacheFactory cacheFactory = cacheManager.getCacheFactory(env);
- this.cache = cacheFactory.createCache(env, this, this);
- } catch (CacheException e) {
- throw new FacesException(e.getMessage(), e);
- }
+ public void setCacheEnabled(boolean b) {
+ cacheEnabled = b;
}
- // Create Resource-specific Faces Lifecycle instance.
- lifecycleClass = servletContext
- .getInitParameter(RESOURCE_LIFECYCLE_PARAMETER);
- if (lifecycleClass != null) {
- ClassLoader classLoader = Thread.currentThread()
- .getContextClassLoader();
- try {
- Class clazz = classLoader.loadClass(lifecycleClass);
- lifecycle = (ResourceLifecycle) clazz.newInstance();
- } catch (Exception e) {
- throw new FacesException(
- "Error create instance of resource Lifecycle "
- + lifecycleClass, e);
- }
- } else {
- lifecycle = new ResourceLifecycle();
- }
- webXml = new WebXml();
- webXml.init(servletContext,filterConfig.getFilterName());
- if (log.isDebugEnabled()) {
- log.debug("Resources service initialized");
- }
- }
- public boolean serviceResource(HttpServletRequest httpServletRequest,
- HttpServletResponse httpServletResponse) throws ServletException,
- IOException {
- String resourceKey = webXml
- .getFacesResourceKey(httpServletRequest);
- if (null != resourceKey) {
- serviceResource(resourceKey, httpServletRequest,
- httpServletResponse);
- return true;
+ public void init(FilterConfig config) throws ServletException {
+ filterConfig = config;
+ ServletContext servletContext = config.getServletContext();
+ if ("false".equalsIgnoreCase(config
+ .getInitParameter(ENABLE_CACHING_PARAMETER))) {
+ setCacheEnabled(false);
+ // this.cacheEnabled = false;
+ // this.cacheAdmin = null;
+ } else {
+ // this.cacheAdmin = ServletCacheAdministrator.getInstance(
+ // servletContext, cacheProperties);
+ try {
+ CacheManager cacheManager = CacheManager.getInstance();
+ Map env = new ServletContextInitMap(servletContext);
+ CacheFactory cacheFactory = cacheManager.getCacheFactory(env);
+ this.cache = cacheFactory.createCache(env, this, this);
+ } catch (CacheException e) {
+ throw new FacesException(e.getMessage(), e);
+ }
+ }
+ // Create Resource-specific Faces Lifecycle instance.
+ lifecycleClass = servletContext
+ .getInitParameter(RESOURCE_LIFECYCLE_PARAMETER);
+ if (lifecycleClass != null) {
+ ClassLoader classLoader = Thread.currentThread()
+ .getContextClassLoader();
+ try {
+ Class clazz = classLoader.loadClass(lifecycleClass);
+ lifecycle = (ResourceLifecycle) clazz.newInstance();
+ } catch (Exception e) {
+ throw new FacesException(
+ "Error create instance of resource Lifecycle "
+ + lifecycleClass, e);
+ }
+ } else {
+ lifecycle = new ResourceLifecycle();
+ }
+ webXml = new WebXml();
+ webXml.init(servletContext, filterConfig.getFilterName());
+ if (log.isDebugEnabled()) {
+ log.debug("Resources service initialized");
+ }
}
- return false;
- }
- public void serviceResource(String resourceKey, HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- InternetResource resource;// getInternetResource(request);
- try {
- resource = getResourceBuilder().getResourceForKey(resourceKey);
- } catch (ResourceNotFoundException e) {
- throw new ServletException(e);
+ public boolean serviceResource(HttpServletRequest httpServletRequest,
+ HttpServletResponse httpServletResponse) throws ServletException,
+ IOException {
+ String resourceKey = webXml.getFacesResourceKey(httpServletRequest);
+ if (null != resourceKey) {
+ serviceResource(resourceKey, httpServletRequest,
+ httpServletResponse);
+ return true;
+ }
+ return false;
}
- Object resourceDataForKey = getResourceBuilder()
- .getResourceDataForKey(resourceKey);
- if (resource.isCacheable(null) && this.cacheEnabled) {
- // Test for client request modification time.
- try {
- long ifModifiedSince = request
- .getDateHeader("If-Modified-Since");
- if (ifModifiedSince >= 0) {
- // Test for modification. 1000 ms due to round
- // modification
- // time to seconds.
- long lastModified = resource.getLastModified(null)
- .getTime() - 1000;
- if (lastModified <= ifModifiedSince) {
- response.setStatus(304);
- return;
- }
+
+ public void serviceResource(String resourceKey, HttpServletRequest request,
+ HttpServletResponse response) throws ServletException, IOException {
+ InternetResource resource;// getInternetResource(request);
+ try {
+ resource = getResourceBuilder().getResourceForKey(resourceKey);
+ } catch (ResourceNotFoundException e) {
+ throw new ServletException(e);
}
- } catch (IllegalArgumentException e) {
- log
- .warn(
- Messages
- .getMessage(Messages.PARSING_IF_MODIFIED_SINCE_WARNING),
- e);
- }
- String cacheKey = resourceKey;// + "?" +
- // request.getQueryString();
- // TODO - select session/application scope.
- //Cache cache = cacheAdmin.getAppScopeCache(getServletContext());
-// try {
- // TODO - use last modified/expires time
-
- CacheKey key = new CacheKey(resourceDataForKey, request, response, resource);
-
- CacheContent content;
+ Object resourceDataForKey = getResourceBuilder().getResourceDataForKey(
+ resourceKey);
+
+ ResourceContext resourceContext = getResourceContext(resource, request,
+ response);
+ resourceContext.setResourceData(resourceDataForKey);
try {
- content = (CacheContent) cache
- .get(cacheKey, key);
- if (log.isDebugEnabled()) {
- log.debug(Messages.getMessage(
- Messages.GET_CONTENT_FROM_CACHE_INFO, cacheKey));
- }
- content.sendHeaders(response);
- // Correct expires date for resource.
- Date expired = resource.getExpired(null);
- if (expired != null) {
- response.setDateHeader("Expires", expired.getTime());
+
+ if (resource.isCacheable(resourceContext) && this.cacheEnabled) {
+ // Test for client request modification time.
+ try {
+ long ifModifiedSince = request
+ .getDateHeader("If-Modified-Since");
+ if (ifModifiedSince >= 0) {
+ // Test for modification. 1000 ms due to round
+ // modification
+ // time to seconds.
+ long lastModified = resource.getLastModified(
+ resourceContext).getTime() - 1000;
+ if (lastModified <= ifModifiedSince) {
+ response.setStatus(304);
+ return;
+ }
+ }
+ } catch (IllegalArgumentException e) {
+ log
+ .warn(
+ Messages
+ .getMessage(Messages.PARSING_IF_MODIFIED_SINCE_WARNING),
+ e);
+ }
+ String cacheKey = resourceKey;
+ CachedResourceContext cachedResourceContext = new CachedResourceContext(
+ resourceContext);
+
+ CacheContext cacheLoaderContext = new CacheContext(
+ cachedResourceContext, resource);
+
+ try {
+ CacheContent content = (CacheContent) cache.get(cacheKey,
+ cacheLoaderContext);
+ if (log.isDebugEnabled()) {
+ log
+ .debug(Messages.getMessage(
+ Messages.GET_CONTENT_FROM_CACHE_INFO,
+ cacheKey));
+ }
+ content.sendHeaders(response);
+ // Correct expires date for resource.
+ Date expired = resource.getExpired(resourceContext);
+ if (expired != null) {
+ response.setDateHeader("Expires", expired.getTime());
+ } else {
+ response.setDateHeader("Expires", System
+ .currentTimeMillis()
+ + InternetResource.DEFAULT_EXPIRE);
+ }
+ if (!request.getMethod().equals("HEAD")) {
+ content.send(response);
+ }
+ } catch (CacheException e) {
+ log.error(
+ Messages.getMessage(Messages.SEND_RESOURCE_ERROR),
+ e);
+ throw new ServletException(Messages.getMessage(
+ Messages.SEND_RESOURCE_ERROR_2, e.getMessage()), e);
+ }
} else {
- response.setDateHeader("Expires", System
- .currentTimeMillis()
- + InternetResource.DEFAULT_EXPIRE);
+ getLifecycle().send(resourceContext, resource);
+ // sendResource(resource, request, response,
+ // resourceDataForKey);
}
- if (!request.getMethod().equals("HEAD")) {
- content.send(response);
- }/*
- } catch (NeedsRefreshException e) {
- try {
- if (log.isDebugEnabled()) {
- log.debug(Messages.getMessage(
- Messages.CONTENT_NOT_FOUND_ERROR, cacheKey));
- }
- CachedResourceContext context = (CachedResourceContext) sendResource(
- resource, request, response, resourceDataForKey);
- // TODO - set refresh interval ?
- cache.put(cacheKey, context.getContent());
- } catch (Exception ex) {
- //cache.cancelUpdate(cacheKey);
- log.error(
- Messages.getMessage(Messages.SEND_RESOURCE_ERROR),
- ex);
- throw new ServletException(Messages.getMessage(
- Messages.SEND_RESOURCE_ERROR_2, ex.getMessage()),
- ex);
- }
- }*/
- } catch (CacheException e) {
- log.error(
- Messages.getMessage(Messages.SEND_RESOURCE_ERROR),
- e);
- throw new ServletException(Messages.getMessage(
- Messages.SEND_RESOURCE_ERROR_2, e.getMessage()),
- e);
+
+ } finally {
+ resourceContext.release();
}
- } else {
- sendResource(resource, request, response, resourceDataForKey);
}
- }
- /**
- * @param resource
- * @param request
- * @param response
- * @throws IOException
- */
- protected ResourceContext sendResource(InternetResource resource,
- HttpServletRequest request, HttpServletResponse response,
- Object data) throws IOException {
- ResourceContext resourceContext = getResourceContext(resource, request,
- response);
- resourceContext.setResourceData(data);
- getLifecycle().send(resourceContext, resource);
- resourceContext.release();
- return resourceContext;
- }
-
- /**
- * @param resource
- * @param request
- * @param response
- * @return
- * @throws ServletException
- * @throws FacesException
- */
- protected ResourceContext getResourceContext(InternetResource resource,
- HttpServletRequest request, HttpServletResponse response)
- throws FacesException {
- FacesContext facesContext = null;
- ResourceContext resourceContext;
- if (resource.requireFacesContext()) {
- facesContext = getFacesContext(request, response);
- resourceContext = new FacesResourceContext(facesContext);
- } else {
- resourceContext = new ServletResourceContext(getServletContext(),
- request, response);
+ /**
+ * @param resource
+ * @param request
+ * @param response
+ * @return
+ * @throws ServletException
+ * @throws FacesException
+ */
+ protected ResourceContext getResourceContext(InternetResource resource,
+ HttpServletRequest request, HttpServletResponse response)
+ throws FacesException {
+ FacesContext facesContext = null;
+ ResourceContext resourceContext;
+ if (resource.requireFacesContext()) {
+ facesContext = getFacesContext(request, response);
+ resourceContext = new FacesResourceContext(facesContext);
+ } else {
+ resourceContext = new ServletResourceContext(getServletContext(),
+ request, response);
+ }
+ return resourceContext;
}
- if (resource.isCacheable(null) && this.cacheEnabled) {
- resourceContext = new CachedResourceContext(resourceContext);
- }
- return resourceContext;
- }
- /**
- * Get properties file from classpath
- *
- * @param name
- * @return
- */
- protected Properties getProperties(String name) {
- Properties properties = new Properties();
- InputStream props = BaseFilter.class.getResourceAsStream(name);
- if (null != props) {
- try {
- properties.load(props);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- log.warn(Messages.getMessage(Messages.READING_PROPERTIES_ERROR,
- name), e);
- } finally {
- try {
- props.close();
- } catch (IOException e) {
- // Can be ignored
+ /**
+ * Get properties file from classpath
+ *
+ * @param name
+ * @return
+ */
+ protected Properties getProperties(String name) {
+ Properties properties = new Properties();
+ InputStream props = BaseFilter.class.getResourceAsStream(name);
+ if (null != props) {
+ try {
+ properties.load(props);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ log.warn(Messages.getMessage(Messages.READING_PROPERTIES_ERROR,
+ name), e);
+ } finally {
+ try {
+ props.close();
+ } catch (IOException e) {
+ // Can be ignored
+ }
+ }
}
- }
+ return properties;
+
}
- return properties;
- }
+ /**
+ * @return Returns the servletContext.
+ */
+ protected ServletContext getServletContext() {
+ return filterConfig.getServletContext();
+ }
- /**
- * @return Returns the servletContext.
- */
- protected ServletContext getServletContext() {
- return filterConfig.getServletContext();
- }
+ /**
+ * @return the lifecycle
+ * @throws ServletException
+ */
+ protected ResourceLifecycle getLifecycle() throws FacesException {
+ return lifecycle;
+ }
- /**
- * @return the lifecycle
- * @throws ServletException
- */
- protected ResourceLifecycle getLifecycle() throws FacesException {
- return lifecycle;
- }
+ /**
+ * @return the contextFactory
+ */
+ protected synchronized FacesContextFactory getContextFactory() {
+ if (contextFactory == null) {
+ contextFactory = (FacesContextFactory) FactoryFinder
+ .getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
+ }
- /**
- * @return the contextFactory
- */
- protected synchronized FacesContextFactory getContextFactory() {
- if (contextFactory == null) {
- contextFactory = (FacesContextFactory) FactoryFinder
- .getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
+ return contextFactory;
}
- return contextFactory;
- }
+ protected FacesContext getFacesContext(ServletRequest request,
+ ServletResponse response) throws FacesException {
+ return getContextFactory().getFacesContext(getServletContext(),
+ request, response, getLifecycle());
+ }
- protected FacesContext getFacesContext(ServletRequest request,
- ServletResponse response) throws FacesException {
- return getContextFactory().getFacesContext(getServletContext(),
- request, response, getLifecycle());
- }
-
- /**
- * @return the resourceBuilder
- */
- protected InternetResourceBuilder getResourceBuilder() {
- if (resourceBuilder == null) {
- // Create resource builder for this filter.
- resourceBuilder = InternetResourceBuilder.getInstance();
+ /**
+ * @return the resourceBuilder
+ */
+ protected InternetResourceBuilder getResourceBuilder() {
+ if (resourceBuilder == null) {
+ // Create resource builder for this filter.
+ resourceBuilder = InternetResourceBuilder.getInstance();
+ }
+ return resourceBuilder;
}
- return resourceBuilder;
- }
public Object load(Object key, Object context) throws CacheException {
- CacheKey cacheKey = (CacheKey) context;
-
- CachedResourceContext resourceContext = (CachedResourceContext) getResourceContext(cacheKey.getResource(), cacheKey.getRequest(),
- cacheKey.getResponse());
- resourceContext.setResourceData(cacheKey.getResourceData());
- try {
- getLifecycle().send(resourceContext, cacheKey.getResource());
- } catch (IOException e) {
- throw new CacheException(e.getMessage(), e);
- }
- resourceContext.release();
-
- // TODO - set refresh interval ?
- //cache.put(cacheKey, resourceContext.getContent());
+ CacheContext cacheKey = (CacheContext) context;
+ CachedResourceContext resourceContext = cacheKey.getResourceContext();
+ try {
+ getLifecycle().send(resourceContext, cacheKey.getResource());
+ } catch (IOException e) {
+ throw new CacheException(e.getMessage(), e);
+ }
+ // TODO - set refresh interval ?
+ // cache.put(cacheKey, resourceContext.getContent());
return resourceContext.getContent();
}
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/JarResource.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/resource/JarResource.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/resource/JarResource.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -21,7 +21,11 @@
package org.ajax4jsf.resource;
+import java.io.IOException;
import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Date;
import org.ajax4jsf.resource.ResourceContext;
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/TemplateCSSResource.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/resource/TemplateCSSResource.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/resource/TemplateCSSResource.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -156,7 +156,7 @@
* @see org.ajax4jsf.resource.InternetResource#getLastModified(ResourceContext)
*/
public Date getLastModified(ResourceContext resourceContext) {
- return _resource.getLastModified(null);
+ return _resource.getLastModified(resourceContext);
}
/**
@@ -192,7 +192,7 @@
* @see org.ajax4jsf.resource.InternetResource#isCacheable(ResourceContext)
*/
public boolean isCacheable(ResourceContext resourceContext) {
- return _resource.isCacheable(null);
+ return _resource.isCacheable(resourceContext);
}
/**
Modified: trunk/framework/impl/src/main/java/org/richfaces/skin/SkinFactoryImpl.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/skin/SkinFactoryImpl.java 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/java/org/richfaces/skin/SkinFactoryImpl.java 2007-08-04 01:05:53 UTC (rev 2060)
@@ -46,9 +46,11 @@
import org.richfaces.skin.SkinNotFoundException;
/**
- * Implementation of {@link SkinFactory} with building skins from properties files.
+ * Implementation of {@link SkinFactory} with building skins from properties
+ * files.
+ *
* @author shura
- *
+ *
*/
public class SkinFactoryImpl extends SkinFactory {
@@ -75,12 +77,15 @@
* definitions. in this realisation "META-INF/skins/" for vendor , "" -
* user-defined.
*/
- private static final String[] SKINS_PATHS = { "META-INF/skins/%s.skin.properties", "%s.skin.properties" };
+ private static final String[] SKINS_PATHS = {
+ "META-INF/skins/%s.skin.properties", "%s.skin.properties" };
private static final String[] DEFAULT_SKIN_PATHS = { DEFAULT_SKIN_PROPERTIES_RESOURCE };
- private static final String[] CONFIGURATIONS_PATHS = { "META-INF/skins/%s.configuration.properties", "%s.configuration.properties" };
+ private static final String[] CONFIGURATIONS_PATHS = {
+ "META-INF/skins/%s.configuration.properties",
+ "%s.configuration.properties" };
private static final String[] DEFAULT_CONFIGURATION_PATHS = { "META-INF/skins/DEFAULT.configuration.properties" };
-
+
private Map skins = Collections.synchronizedMap(new HashMap());
private Properties defaultSkinProperties = null;
private String skinName = null;
@@ -89,6 +94,10 @@
private ValueBinding baseSkinBinding = null;
private static final Log log = LogFactory.getLog(SkinFactoryImpl.class);
+ private static final String A4J_BASE_SKIN_PARAMETER = "org.ajax4jsf.BASE_SKIN";
+
+ private static final String A4J_SKIN_PARAMETER = "org.ajax4jsf.SKIN";
+
protected Skin getSkinByName(Object currentSkinOrName) {
if (null == currentSkinOrName) {
throw new SkinNotFoundException(Messages
@@ -110,14 +119,14 @@
currentSkin = buildSkin(currentSkinName, getDefaultSkinProperties());
skins.put(currentSkinName, currentSkin);
}
-
+
return currentSkin;
}
public Skin getDefaultSkin(FacesContext context) {
return getSkinByName(DEFAULT_SKIN_NAME);
}
-
+
public Skin getSkin(FacesContext context) {
// TODO - cache skin for current thread ? or for current Faces Lifecycle
// Phase ?
@@ -144,8 +153,7 @@
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Properties defaultProperties = new Properties();
try {
- Enumeration properties = loader
- .getResources(path);
+ Enumeration properties = loader.getResources(path);
while (properties.hasMoreElements()) {
URL url = (URL) properties.nextElement();
InputStream propertyStream = null;
@@ -155,8 +163,8 @@
} catch (IOException e) {
// DO Nothing...
log.info(Messages.getMessage(
- Messages.DEFAULT_PROPERTIES_NOT_FOUND_ERROR,
- path), e);
+ Messages.DEFAULT_PROPERTIES_NOT_FOUND_ERROR, path),
+ e);
continue;
} finally {
if (null != propertyStream) {
@@ -166,8 +174,7 @@
}
} catch (IOException e) {
log.info(Messages.getMessage(
- Messages.DEFAULT_PROPERTIES_NOT_FOUND_ERROR,
- path), e);
+ Messages.DEFAULT_PROPERTIES_NOT_FOUND_ERROR, path), e);
}
return defaultProperties;
}
@@ -195,10 +202,23 @@
binding = skinBinding;
skin = skinName;
}
-
+
if (binding == null && skin == null) {
String currentSkinName = context.getExternalContext()
- .getInitParameter(useBase ? BASE_SKIN_PARAMETER : SKIN_PARAMETER);
+ .getInitParameter(
+ useBase ? BASE_SKIN_PARAMETER : SKIN_PARAMETER);
+ if (null == currentSkinName) {
+ // Check for a old ( deprecated ) parameter name.
+ currentSkinName = context.getExternalContext()
+ .getInitParameter(
+ useBase ? A4J_BASE_SKIN_PARAMETER
+ : A4J_SKIN_PARAMETER);
+ if (null != currentSkinName) {
+ log.warn("Init parameter for a skin name changed to "+ (useBase ? A4J_BASE_SKIN_PARAMETER
+ : A4J_SKIN_PARAMETER));
+ }
+
+ }
if (currentSkinName == null) {
// not set - usr default.
return DEFAULT_SKIN_NAME;
@@ -211,7 +231,7 @@
skin = currentSkinName;
}
}
-
+
if (useBase) {
baseSkinBinding = binding;
baseSkinName = skin;
@@ -219,7 +239,7 @@
skinBinding = binding;
skinName = skin;
}
-
+
// }
}
if (binding != null) {
@@ -243,8 +263,9 @@
* @throws SkinNotFoundException -
* if no skin properies found for name.
*/
- protected Skin buildSkin(String name, Properties defaultProperties) throws SkinNotFoundException {
- Map skinParams = loadProperties(name, defaultProperties,SKINS_PATHS);
+ protected Skin buildSkin(String name, Properties defaultProperties)
+ throws SkinNotFoundException {
+ Map skinParams = loadProperties(name, defaultProperties, SKINS_PATHS);
return new SkinImpl(skinParams);
}
@@ -256,7 +277,9 @@
* @throws FacesException
* @throws ReferenceSyntaxException
*/
- protected Map loadProperties(String name, Properties defaultProperties,String[] paths) throws SkinNotFoundException, FacesException, ReferenceSyntaxException {
+ protected Map loadProperties(String name, Properties defaultProperties,
+ String[] paths) throws SkinNotFoundException, FacesException,
+ ReferenceSyntaxException {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
// Get properties for concrete skin.
Properties skinProperties = new Properties(defaultProperties);
@@ -309,14 +332,16 @@
String property = skinProperties.getProperty(propertyName);
if (null != property) {
int count = 0;
- while ( property.startsWith("&")) {
+ while (property.startsWith("&")) {
property = skinProperties
.getProperty(property.substring(1));
- if(null == property){
- throw new FacesException(Messages.getMessage(Messages.SKIN_ILLEGAL_REFERENCE,propertyName));
+ if (null == property) {
+ throw new FacesException(Messages.getMessage(
+ Messages.SKIN_ILLEGAL_REFERENCE, propertyName));
}
- if(count++>1000){
- throw new FacesException(Messages.getMessage(Messages.SKIN_CYCLIC_REFERENCE,propertyName));
+ if (count++ > 1000) {
+ throw new FacesException(Messages.getMessage(
+ Messages.SKIN_CYCLIC_REFERENCE, propertyName));
}
}
if (SkinFactory.isValueReference(property)) {
Added: trunk/framework/impl/src/main/resources/META-INF/.faces-config.xml.jsfdia
===================================================================
--- trunk/framework/impl/src/main/resources/META-INF/.faces-config.xml.jsfdia (rev 0)
+++ trunk/framework/impl/src/main/resources/META-INF/.faces-config.xml.jsfdia 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PROCESS ENTITY="JSFProcess"/>
Modified: trunk/framework/impl/src/main/resources/META-INF/faces-config.xml
===================================================================
--- trunk/framework/impl/src/main/resources/META-INF/faces-config.xml 2007-08-03 19:33:52 UTC (rev 2059)
+++ trunk/framework/impl/src/main/resources/META-INF/faces-config.xml 2007-08-04 01:05:53 UTC (rev 2060)
@@ -31,6 +31,11 @@
<managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
+ <managed-bean>
+ <managed-bean-name>richSkin</managed-bean-name>
+ <managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
<managed-bean>
<managed-bean-name>ajaxContext</managed-bean-name>
<managed-bean-class>org.ajax4jsf.context.AjaxContextImpl</managed-bean-class>
Added: trunk/ui/dataFilterSlider/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/dataFilterSlider/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/dataFilterSlider/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/dataFilterSlider/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/dataTable/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/dataTable/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/dataTable/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/dataTable/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/datascroller/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/datascroller/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/datascroller/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/datascroller/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/drag-drop/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/drag-drop/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/drag-drop/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/drag-drop/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/dropdown-menu/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/dropdown-menu/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/dropdown-menu/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/dropdown-menu/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/gmap/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/gmap/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/gmap/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/gmap/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/menu-components/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/menu-components/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/menu-components/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/menu-components/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/modal-panel/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/modal-panel/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/modal-panel/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/modal-panel/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/panel/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/panel/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/panel/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/panel/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/panelbar/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/panelbar/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/panelbar/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/panelbar/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/simpleTogglePanel/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/simpleTogglePanel/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/simpleTogglePanel/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/simpleTogglePanel/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/spacer/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/spacer/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/spacer/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/spacer/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/suggestionbox/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/suggestionbox/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/suggestionbox/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/suggestionbox/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/togglePanel/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/togglePanel/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/togglePanel/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/togglePanel/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/ui/toolBar/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/ui/toolBar/src/main/java/META-INF/MANIFEST.MF (rev 0)
+++ trunk/ui/toolBar/src/main/java/META-INF/MANIFEST.MF 2007-08-04 01:05:53 UTC (rev 2060)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/ui/toolBar/src/main/java/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
More information about the richfaces-svn-commits
mailing list