JBoss Rich Faces SVN: r368 - trunk/richfaces/spacer/src/main/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-04-11 12:57:13 -0400 (Wed, 11 Apr 2007)
New Revision: 368
Modified:
trunk/richfaces/spacer/src/main/java/org/richfaces/component/UISpacer.java
Log:
Abstract stuff for properties added to UISpacer.java
Modified: trunk/richfaces/spacer/src/main/java/org/richfaces/component/UISpacer.java
===================================================================
--- trunk/richfaces/spacer/src/main/java/org/richfaces/component/UISpacer.java 2007-04-11 16:51:03 UTC (rev 367)
+++ trunk/richfaces/spacer/src/main/java/org/richfaces/component/UISpacer.java 2007-04-11 16:57:13 UTC (rev 368)
@@ -29,4 +29,14 @@
*/
public abstract class UISpacer extends UIComponentBase
{
+
+ public abstract void setWidth(String string);
+ public abstract String getWidth();
+
+ public abstract void setHeight(String string);
+ public abstract String getHeight();
+
+ public abstract void setStyle(String string);
+ public abstract String getStyle();
+
}
19 years
JBoss Rich Faces SVN: r367 - in trunk/richfaces/tree/src/main/java/org/richfaces: renderkit and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-04-11 12:51:03 -0400 (Wed, 11 Apr 2007)
New Revision: 367
Modified:
trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java
trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeRequestDataModel.java
trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java
trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
Log:
Fixed: tree doesn't expand in "ajax" switch mode
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java 2007-04-11 14:58:17 UTC (rev 366)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java 2007-04-11 16:51:03 UTC (rev 367)
@@ -110,13 +110,20 @@
public void walk(FacesContext context, final DataVisitor dataVisitor,
Range range, TreeRowKey rowKey, Object argument, boolean last)
throws IOException {
- if ((rowKey == null && ((TreeNode) getWrappedData()).isLeaf())
- || locateTreeNode(rowKey) == null) {
- treeDataModel.walk(context, new Visitor(dataVisitor), range,
- rowKey, argument, last);
- } else {
- super.walk(context, dataVisitor, range, rowKey, argument, last);
+
+ TreeNode cachedTreeNode = locateTreeNode(rowKey);
+ TreeNode treeNode = treeDataModel.locateTreeNode(rowKey);
+
+ if (treeNode != null) {
+ if (cachedTreeNode == null || (!treeNode.isLeaf() && cachedTreeNode.isLeaf())) {
+ //fill cache
+ treeDataModel.walk(context, new Visitor(dataVisitor), range,
+ rowKey, argument, last);
+ } else {
+ super.walk(context, dataVisitor, range, rowKey, argument, last);
+ }
}
+
}
public void setRowData(Object object) {
@@ -148,6 +155,7 @@
public void resetSub(TreeRowKey key) {
TreeNode node = locateTreeNode(key);
for (Iterator iterator = node.getChildren(); iterator.hasNext();) {
+ iterator.next();
iterator.remove();
}
}
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeRequestDataModel.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeRequestDataModel.java 2007-04-11 14:58:17 UTC (rev 366)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeRequestDataModel.java 2007-04-11 16:51:03 UTC (rev 367)
@@ -33,14 +33,6 @@
super(model);
}
- public void resetAll() {
- throw new IllegalStateException("Should not be called for this class!");
- }
-
- public void resetSub(TreeRowKey key) {
- throw new IllegalStateException("Should not be called for this class!");
- }
-
public boolean isTransient() {
return true;
}
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java 2007-04-11 14:58:17 UTC (rev 366)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java 2007-04-11 16:51:03 UTC (rev 367)
@@ -247,7 +247,6 @@
CacheableTreeDataModel cacheableModel = state.getTreeDataModel();
if (cacheableModel != null) {
if (cacheableModel.isTransient()) {
- setExtendedDataModel(cacheableModel.getTreeDataModel());
state.setTreeDataModel(null);
}
}
@@ -483,18 +482,23 @@
protected ExtendedDataModel createDataModel() {
TreeState state = ((TreeState) getComponentState());
CacheableTreeDataModel stateModel = state.getTreeDataModel();
+
TreeDataModel treeDataModel = new TreeDataModel();
treeDataModel.setWrappedData(this.getValue());
+
if (stateModel == null) {
String preserveModel = getPreserveModel();
if (PRESERVE_MODEL_REQUEST.equals(preserveModel)) {
stateModel = new CacheableTreeRequestDataModel(treeDataModel);
+ state.setTreeDataModel(stateModel);
} else if (PRESERVE_MODEL_STATE.equals(preserveModel)) {
stateModel = new CacheableTreeDataModel(treeDataModel);
+ state.setTreeDataModel(stateModel);
} else {
return treeDataModel;
}
} else {
+ //bind existing model to the state-saved model
stateModel.setTreeDataModel(treeDataModel);
}
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java 2007-04-11 14:58:17 UTC (rev 366)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java 2007-04-11 16:51:03 UTC (rev 367)
@@ -155,7 +155,7 @@
try {
Set ajaxKeys = tree.getAjaxKeys();
if (ajaxKeys != null) {
- Iterator ajaxKeysItr = tree.getAjaxKeys().iterator();
+ Iterator ajaxKeysItr = ajaxKeys.iterator();
while (ajaxKeysItr.hasNext()) {
TreeRowKey key = (TreeRowKey) ajaxKeysItr.next();
tree.setRowKey(key);
@@ -168,6 +168,8 @@
encodedAreaIds.add(id);
}
}
+
+ ajaxKeys.clear();
}
} catch (Exception e) {
throw new FacesException(e);
19 years
JBoss Rich Faces SVN: r366 - trunk/richfaces/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts.
by richfaces-svn-commits@lists.jboss.org
Author: sergeyhalipov
Date: 2007-04-11 10:58:17 -0400 (Wed, 11 Apr 2007)
New Revision: 366
Modified:
trunk/richfaces/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
Log:
Fix horizontal resize in Opera.
Modified: trunk/richfaces/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
===================================================================
--- trunk/richfaces/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2007-04-11 14:48:17 UTC (rev 365)
+++ trunk/richfaces/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2007-04-11 14:58:17 UTC (rev 366)
@@ -438,7 +438,12 @@
var winSize = Richfaces.getWindowSize();
var vetoeChange = false;
- var newSize = Richfaces.getComputedStyleSize(this.contentDiv, "width");
+ var newSize;
+ // Avoid currentStyle bug in opera
+ if (RichFaces.navigatorType() != "OPERA")
+ newSize = Richfaces.getComputedStyleSize(this.contentDiv, "width");
+ else
+ newSize = parseInt(this.contentDiv.style.width.replace("px", ""), 10);
var oldSize = newSize;
newSize += diff.deltaWidth || 0;
19 years
JBoss Rich Faces SVN: r365 - trunk/richfaces/dataTable/src/test/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: a.izobov
Date: 2007-04-11 10:48:17 -0400 (Wed, 11 Apr 2007)
New Revision: 365
Added:
trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java
Removed:
trunk/richfaces/dataTable/src/test/java/org/richfaces/component/JSFComponentTest.java
Log:
test development
Added: trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java
===================================================================
--- trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java (rev 0)
+++ trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java 2007-04-11 14:48:17 UTC (rev 365)
@@ -0,0 +1,234 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces 3.0 - Ajax4jsf Component Library
+ *
+ * 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.component;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import javax.faces.component.UIComponent;
+import javax.faces.component.html.HtmlOutputText;
+
+import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.richfaces.component.html.HtmlColumnGroup;
+import org.richfaces.component.html.HtmlColumn;
+
+import com.gargoylesoftware.htmlunit.html.HtmlElement;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+
+/**
+ * Unit test for simple Component.
+ */
+public class DataTableComponentTest extends AbstractAjax4JsfTestCase {
+
+ private UIDataTable dataTable;
+ private UIDataGrid dataGrid;
+
+ /**
+ * Create the test case
+ *
+ * @param testName
+ * name of the test case
+ */
+ public DataTableComponentTest(String testName) {
+ super(testName);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
+ */
+ public void setUp() throws Exception {
+ super.setUp();
+
+ dataTable = (UIDataTable) application
+ .createComponent("org.richfaces.DataTable");
+ dataTable.setId("dataTable");
+ List value = new ArrayList();
+ value.add("First");
+ value.add("Second");
+ dataTable.setValue(value);
+ facesContext.getViewRoot().getChildren().add(dataTable);
+
+ dataGrid = (UIDataGrid) application
+ .createComponent("org.richfaces.DataGrid");
+ dataGrid.setId("dataGrid");
+ facesContext.getViewRoot().getChildren().add(dataGrid);
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
+ */
+ public void tearDown() throws Exception {
+ super.tearDown();
+ dataTable = null;
+ }
+
+ /**
+ * Test component rendering
+ *
+ * @throws Exception
+ */
+ public void testRenderDataTable() throws Exception {
+
+ HtmlColumnGroup header = (HtmlColumnGroup) application
+ .createComponent("org.richfaces.ColumnGroup");
+ header.setColumnClasses("cola, colb");
+ dataTable.getFacets().put("header", header);
+
+ UIComponent caption = createComponent(HtmlOutputText.COMPONENT_TYPE,
+ HtmlOutputText.class.getName(), null, null, null);
+ dataTable.getFacets().put("caption", caption);
+ UIComponent footer = createComponent(HtmlOutputText.COMPONENT_TYPE,
+ HtmlOutputText.class.getName(), null, null, null);
+ dataTable.getFacets().put("footer", footer);
+
+ HtmlColumn column1 = (HtmlColumn) application
+ .createComponent("org.richfaces.Column");
+ dataTable.getChildren().add(column1);
+ HtmlOutputText text = (HtmlOutputText) createComponent(
+ HtmlOutputText.COMPONENT_TYPE, HtmlOutputText.class.getName(),
+ null, null, null);
+ text.setValue("Column");
+ column1.getChildren().add(text);
+
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ System.out.println(page.asXml());
+
+ HtmlElement table = page.getHtmlElementById(dataTable
+ .getClientId(facesContext));
+ assertNotNull(table);
+ assertEquals("table", table.getNodeName());
+
+ String classAttr = table.getAttributeValue("class");
+ assertTrue(classAttr.contains("dr-table rich-table"));
+
+ List captions = table.getHtmlElementsByTagName("caption");
+ assertNotNull(captions);
+ assertEquals(1, captions.size());
+
+ classAttr = ((HtmlElement) captions.get(0)).getAttributeValue("class");
+ assertTrue(classAttr.contains("dr-table-caption rich-table-caption"));
+
+ List headers = table.getHtmlElementsByTagName("thead");
+ assertNotNull(headers);
+ assertEquals(1, headers.size());
+ HtmlElement tr = (HtmlElement) ((HtmlElement) headers.get(0))
+ .getFirstChild();
+ assertNotNull(tr);
+ classAttr = tr.getAttributeValue("class");
+ assertTrue(classAttr.contains("dr-table-header rich-table-header"));
+
+ List footers = table.getHtmlElementsByTagName("tfoot");
+ assertNotNull(footers);
+ assertEquals(1, footers.size());
+ tr = (HtmlElement) ((HtmlElement) footers.get(0)).getFirstChild();
+ assertNotNull(tr);
+ classAttr = tr.getAttributeValue("class");
+ assertTrue(classAttr.contains("dr-table-footer rich-table-footer"));
+
+ List bodies = table.getHtmlElementsByTagName("tbody");
+ assertNotNull(bodies);
+ assertEquals(1, bodies.size());
+ tr = (HtmlElement) ((HtmlElement) bodies.get(0)).getFirstChild();
+ assertNotNull(tr);
+ classAttr = tr.getAttributeValue("class");
+ assertTrue(classAttr.contains("dr-table-firstrow rich-table-firstrow"));
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testRenderSubTable() throws Exception {
+ UISubTable subTable = (UISubTable) application
+ .createComponent("org.richfaces.SubTable");
+ subTable.setId("subTable");
+ List value = new ArrayList();
+ value.add("First");
+ subTable.setValue(value);
+
+ dataTable.getChildren().add(subTable);
+
+ HtmlColumn column1 = (HtmlColumn) application
+ .createComponent("org.richfaces.Column");
+ subTable.getChildren().add(column1);
+
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ System.out.println(page.asXml());
+
+ HtmlElement table = page.getHtmlElementById(dataTable
+ .getClientId(facesContext));
+ assertNotNull(table);
+ assertEquals("table", table.getNodeName());
+
+ List bodies = table.getHtmlElementsByTagName("tbody");
+ assertNotNull(bodies);
+ assertEquals(1, bodies.size());
+ List trs = ((HtmlElement) bodies.get(0)).getHtmlElementsByTagName("tr");
+ assertNotNull(trs);
+
+ Iterator it = trs.iterator();
+ boolean found = false;
+ for( ; it.hasNext();) {
+ HtmlElement tr = (HtmlElement)it.next();
+ String classAttr = tr.getAttributeValue("class");
+ if (classAttr.contains("dr-subtable-")) {
+ found = true;
+ break;
+ }
+ }
+ assertTrue(found);
+
+ }
+
+ public void testRenderDataGrid() throws Exception {
+ dataGrid.setColumns(1);
+ List value = new ArrayList();
+ value.add("First");
+ dataGrid.setValue(value);
+
+ UIComponent caption = createComponent(HtmlOutputText.COMPONENT_TYPE,
+ HtmlOutputText.class.getName(), null, null, null);
+ dataGrid.getChildren().add(caption);
+
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ System.out.println(page.asXml());
+
+ HtmlElement table = page.getHtmlElementById(dataGrid
+ .getClientId(facesContext));
+ assertNotNull(table);
+ assertEquals("table", table.getNodeName());
+
+
+ }
+
+}
Deleted: trunk/richfaces/dataTable/src/test/java/org/richfaces/component/JSFComponentTest.java
===================================================================
--- trunk/richfaces/dataTable/src/test/java/org/richfaces/component/JSFComponentTest.java 2007-04-11 14:16:05 UTC (rev 364)
+++ trunk/richfaces/dataTable/src/test/java/org/richfaces/component/JSFComponentTest.java 2007-04-11 14:48:17 UTC (rev 365)
@@ -1,53 +0,0 @@
-/**
- * License Agreement.
- *
- * JBoss RichFaces 3.0 - Ajax4jsf Component Library
- *
- * 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.component;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import javax.faces.component.UIComponent;
-
-/**
- * Unit test for simple Component.
- */
-public class JSFComponentTest
- extends TestCase
-{
- /**
- * Create the test case
- *
- * @param testName name of the test case
- */
- public JSFComponentTest( String testName )
- {
- super( testName );
- }
-
-
- /**
- * Rigourous Test :-)
- */
- public void testComponent()
- {
- assertTrue( true );
- }
-}
19 years
JBoss Rich Faces SVN: r364 - trunk/richfaces/togglePanel/src/test/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: d.bulahov
Date: 2007-04-11 10:16:05 -0400 (Wed, 11 Apr 2007)
New Revision: 364
Modified:
trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java
Log:
Unit tests development
Modified: trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java
===================================================================
--- trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java 2007-04-11 14:15:14 UTC (rev 363)
+++ trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java 2007-04-11 14:16:05 UTC (rev 364)
@@ -101,8 +101,7 @@
toggleControl = (UIToggleControl)application.createComponent("org.richfaces.ToggleControl");
toggleControl.setId("ToggleControl");
- toggleControl.setFor(togglePanel.getId());
-
+ toggleControl.setFor(togglePanel.getId());
form.getChildren().add(toggleControl);
}
@@ -131,6 +130,7 @@
assertNotNull(div);
assertEquals("div", div.getNodeName());
+
HtmlElement div_control = page.getHtmlElementById(toggleControl.getClientId(facesContext));
String classAttr = div_control.getAttributeValue("class");
assertTrue(classAttr.contains("dr-tglctrl"));
@@ -193,8 +193,45 @@
togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
assertFalse(((String)togglePanel.getValue()).equals("b"));
assertTrue(((String)togglePanel.getValue()).equals("a"));
+
+ toggleControl.setSwitchToState(null);
+ togglePanel.setStateOrder("c,b,a");
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
+ assertFalse(((String)togglePanel.getValue()).equals("a"));
+ assertTrue(((String)togglePanel.getValue()).equals("c"));
+
+ togglePanel.setValue(null);
+ togglePanel.setStateOrder("c,b,a");
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
+ assertTrue(((String)togglePanel.getValue()).equals("c"));
+
+
+ toggleControl.setSwitchToState("d");
+ try {
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
+ assertTrue(false);
+ } catch(Exception ex) {
+ }
}
+
+ public void testgetPanel() throws Exception {
+ assertTrue(toggleControl.getPanel().getId().equals(togglePanel.getId()));
+ toggleControl.setFor("xxx");
+ try {
+ toggleControl.getPanel();
+ assertTrue(false);
+ } catch(Exception ex) {
+ }
+ toggleControl.setFor(null);
+ try {
+ toggleControl.getPanel();
+ assertTrue(false);
+ } catch(Exception ex) {
+ }
+
+
+ }
}
19 years
JBoss Rich Faces SVN: r363 - trunk/richfaces/togglePanel/src/main/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: d.bulahov
Date: 2007-04-11 10:15:14 -0400 (Wed, 11 Apr 2007)
New Revision: 363
Modified:
trunk/richfaces/togglePanel/src/main/java/org/richfaces/component/UITogglePanel.java
Log:
Small refactoring
Modified: trunk/richfaces/togglePanel/src/main/java/org/richfaces/component/UITogglePanel.java
===================================================================
--- trunk/richfaces/togglePanel/src/main/java/org/richfaces/component/UITogglePanel.java 2007-04-11 13:38:31 UTC (rev 362)
+++ trunk/richfaces/togglePanel/src/main/java/org/richfaces/component/UITogglePanel.java 2007-04-11 14:15:14 UTC (rev 363)
@@ -69,13 +69,16 @@
int currentIdx = 0;
if (value != null) {
currentIdx = stateOrderList.indexOf(value);
+ if (currentIdx + 1 == stateOrderList.size()) {
+ return stateOrderList.get(0);
+ } else {
+ return stateOrderList.get(++currentIdx);
+ }
}
-
- if (currentIdx + 1 == stateOrderList.size()) {
+ else{
return stateOrderList.get(0);
- } else {
- return stateOrderList.get(++currentIdx);
}
+
}
} else {
return super.convertSwitchValue(component, object);
19 years
JBoss Rich Faces SVN: r362 - trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html.
by richfaces-svn-commits@lists.jboss.org
Author: A.Skokov
Date: 2007-04-11 09:38:31 -0400 (Wed, 11 Apr 2007)
New Revision: 362
Modified:
trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
Log:
small refactoring
Modified: trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
===================================================================
--- trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2007-04-11 13:35:03 UTC (rev 361)
+++ trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2007-04-11 13:38:31 UTC (rev 362)
@@ -21,167 +21,174 @@
package org.richfaces.renderkit.html;
-import java.io.IOException;
-import java.util.Map;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
-import javax.faces.event.ActionEvent;
-import javax.faces.event.PhaseId;
-
import org.ajax4jsf.framework.renderer.AjaxRendererUtils;
import org.ajax4jsf.framework.renderer.ComponentVariables;
import org.ajax4jsf.framework.renderer.ComponentsVariableResolver;
+import org.ajax4jsf.framework.util.command.CommandScriptBuilder;
import org.richfaces.component.MenuComponent;
import org.richfaces.component.UIMenuItem;
import org.richfaces.component.util.ViewUtil;
import org.richfaces.renderkit.CompositeRenderer;
-import org.ajax4jsf.framework.util.command.CommandScriptBuilder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+import javax.faces.event.PhaseId;
+import java.io.IOException;
+import java.util.Map;
-public class MenuItemRendererBase extends CompositeRenderer {
-
-
- protected Class getComponentClass() {
- return UIMenuItem.class;
- }
+public class MenuItemRendererBase extends CompositeRenderer {
- public boolean getRendersChildren() {
- return true;
- }
-
- public void doDecode(FacesContext context, UIComponent component) {
+ protected Class getComponentClass() {
+ return UIMenuItem.class;
+ }
- super.doDecode(context, component);
-
- ExternalContext exCtx = context.getExternalContext();
- Map rqMap = exCtx.getRequestParameterMap();
- Object clnId = rqMap.get(component.getClientId(context));
- if(clnId == null) {
- clnId = rqMap.get(component.getClientId(context) + ":hidden");
- }
- UIMenuItem menuItem = (UIMenuItem)component;
- if(clnId!=null) {
-
- // enqueue event here for this component or for component with Id
- // taken from forId attribute
-
- String mode = menuItem.getMode();
- if (!MenuComponent.MODE_NONE.equalsIgnoreCase(mode)) {
-
- ActionEvent actionEvent = new ActionEvent(menuItem);
- if (menuItem.isImmediate()) {
- actionEvent.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
- } else {
- actionEvent.setPhaseId(PhaseId.INVOKE_APPLICATION);
- }
- menuItem.queueEvent(actionEvent);
- }
- }
- }
-
-
- public void initializeResources(FacesContext context, UIMenuItem menuItem)
- throws IOException {
- ComponentVariables variables = ComponentsVariableResolver.getVariables(this, menuItem);
+ public boolean getRendersChildren() {
+ return true;
+ }
- String resource = menuItem.isDisabled() ? ViewUtil.getResourceURL(menuItem.getIconDisabled()) : ViewUtil.getResourceURL(menuItem.getIcon());
- if (resource == null) {
- resource = (String) getResource( "images/spacer.gif" ).getUri(context, menuItem);
- }
- variables.setVariable("icon", resource);
-
- if (menuItem.isDisabled()) {
- variables.setVariable("iconDisabledClasses", "dr-menu-icon-disabled rich-menu-item-icon-disabled");
- } else {
-
- variables.setVariable("onmouseoutInlineStyles", processInlineStyles(context, menuItem, false));
- variables.setVariable("onmouseoverInlineStyles", processInlineStyles(context, menuItem, true));
-
- StringBuffer scriptValue = new StringBuffer();
- String mode = resolveSubmitMode(menuItem);
- if (mode.equalsIgnoreCase(MenuComponent.MODE_AJAX)) {
- scriptValue.append(AjaxRendererUtils.buildOnClick(menuItem, context).toString());
- //scriptValue.append("; Exadel.Menu.Layers.shutdown();return false;");
- } else if (mode.equalsIgnoreCase(MenuComponent.MODE_SERVER)) {
- CommandScriptBuilder builder = new CommandScriptBuilder(menuItem);
- builder.setCheckActionAndListener(true);
- Object target = menuItem.getAttributes().get("target");
- if (null != target) {
- builder.setTarget((String) target);
- }
- builder.setUseOriginalOnclick(true);
- builder.addCodeBefore("Event.stop(event || window.event);");
- //builder.addCodeAfter("Exadel.Menu.Layers.shutdown();return false;");
- String id = menuItem.getClientId(context);
- builder.addParameter(id + ":hidden", id);
- scriptValue.append(builder.toString());
- } else {
- scriptValue.append(getStringAttributeOrEmptyString(menuItem, "onclick"));
- }
- if (resource.length() > 0) {
- variables.setVariable("onclick", scriptValue.toString());
- }
- }
-
- }
-
- protected String getStringAttributeOrEmptyString(UIComponent component, String attributeName) {
- String attributeValue = (String) component.getAttributes().get(attributeName);
-
- if (null == attributeValue) {
- attributeValue = "";
- }
-
- return attributeValue;
- }
-
- protected UIComponent getIconFacet(UIMenuItem menuItem) {
- UIComponent iconFacet = null;
- if (menuItem.isDisabled()) {
- iconFacet = menuItem.getFacet("iconDisabled");
- } else {
- iconFacet = menuItem.getFacet("icon");
- }
- return iconFacet;
- }
-
- protected String resolveSubmitMode(UIMenuItem menuItem) {
- String submitMode = menuItem.getMode();
- if (null != submitMode) {
- return submitMode;
- }
- UIComponent parent = menuItem.getParent();
- while (null != parent) {
- if (parent instanceof MenuComponent) {
- return ((MenuComponent) parent).getMode();
- }
- parent = parent.getParent();
- }
-
- return MenuComponent.MODE_SERVER;
- }
-
- protected String processInlineStyles(FacesContext context, UIMenuItem menuItem, boolean isOnmouseover) {
- StringBuffer buffer = new StringBuffer();
- Object style = menuItem.getAttributes().get("style");
- Object selectStyle = menuItem.getAttributes().get("selectStyle");
- if (null == selectStyle) {
- return "";
- }
-
- buffer.append("$('" + menuItem.getClientId(context) + "').style.cssText='");
- if (null != style) {
- buffer.append(style.toString() + "; ");
- }
- if (isOnmouseover) {
- buffer.append(selectStyle.toString() + ";';");
- } else {
- buffer.append("';");
- }
- return buffer.toString();
- }
-
+ public void doDecode(FacesContext context, UIComponent component) {
+
+ super.doDecode(context, component);
+
+ ExternalContext exCtx = context.getExternalContext();
+ Map rqMap = exCtx.getRequestParameterMap();
+ Object clnId = rqMap.get(component.getClientId(context));
+ if (clnId == null) {
+ clnId = rqMap.get(component.getClientId(context) + ":hidden");
+ }
+ UIMenuItem menuItem = (UIMenuItem) component;
+ if (clnId != null) {
+
+ // enqueue event here for this component or for component with Id
+ // taken from forId attribute
+
+ String mode = menuItem.getMode();
+ if (!MenuComponent.MODE_NONE.equalsIgnoreCase(mode)) {
+
+ ActionEvent actionEvent = new ActionEvent(menuItem);
+ if (menuItem.isImmediate()) {
+ actionEvent.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+ } else {
+ actionEvent.setPhaseId(PhaseId.INVOKE_APPLICATION);
+ }
+ menuItem.queueEvent(actionEvent);
+ }
+ }
+ }
+
+ public void initializeResources(FacesContext context, UIMenuItem menuItem)
+ throws IOException {
+ ComponentVariables variables =
+ ComponentsVariableResolver.getVariables(this, menuItem);
+
+ String resource = menuItem.isDisabled()
+ ? ViewUtil.getResourceURL(menuItem.getIconDisabled())
+ : ViewUtil.getResourceURL(menuItem.getIcon());
+ if (resource == null) {
+ resource = getResource("images/spacer.gif").getUri(
+ context, menuItem);
+ }
+ variables.setVariable("icon", resource);
+
+ if (menuItem.isDisabled()) {
+ variables.setVariable("iconDisabledClasses",
+ "dr-menu-icon-disabled rich-menu-item-icon-disabled");
+ } else {
+
+ variables.setVariable("onmouseoutInlineStyles",
+ processInlineStyles(context, menuItem, false));
+ variables.setVariable("onmouseoverInlineStyles",
+ processInlineStyles(context, menuItem, true));
+
+ StringBuffer scriptValue = new StringBuffer();
+ String mode = resolveSubmitMode(menuItem);
+ if (mode.equalsIgnoreCase(MenuComponent.MODE_AJAX)) {
+ scriptValue.append(AjaxRendererUtils.buildOnClick(
+ menuItem, context).toString());
+ } else if (mode.equalsIgnoreCase(MenuComponent.MODE_SERVER)) {
+ CommandScriptBuilder builder = new CommandScriptBuilder(menuItem);
+ builder.setCheckActionAndListener(true);
+ Object target = menuItem.getAttributes().get("target");
+ if (null != target) {
+ builder.setTarget((String) target);
+ }
+ builder.setUseOriginalOnclick(true);
+ builder.addCodeBefore("Event.stop(event || window.event);");
+ String id = menuItem.getClientId(context);
+ builder.addParameter(id + ":hidden", id);
+ scriptValue.append(builder.toString());
+ } else {
+ scriptValue.append(
+ getStringAttributeOrEmptyString(menuItem, "onclick"));
+ }
+ if (resource.length() > 0) {
+ variables.setVariable("onclick", scriptValue.toString());
+ }
+ }
+
+ }
+
+ protected String getStringAttributeOrEmptyString(UIComponent component,
+ String attributeName) {
+ String attributeValue =
+ (String) component.getAttributes().get(attributeName);
+
+ if (null == attributeValue) {
+ attributeValue = "";
+ }
+
+ return attributeValue;
+ }
+
+ protected UIComponent getIconFacet(UIMenuItem menuItem) {
+ UIComponent iconFacet = null;
+ if (menuItem.isDisabled()) {
+ iconFacet = menuItem.getFacet("iconDisabled");
+ } else {
+ iconFacet = menuItem.getFacet("icon");
+ }
+ return iconFacet;
+ }
+
+ protected String resolveSubmitMode(UIMenuItem menuItem) {
+ String submitMode = menuItem.getMode();
+ if (null != submitMode) {
+ return submitMode;
+ }
+ UIComponent parent = menuItem.getParent();
+ while (null != parent) {
+ if (parent instanceof MenuComponent) {
+ return ((MenuComponent) parent).getMode();
+ }
+ parent = parent.getParent();
+ }
+
+ return MenuComponent.MODE_SERVER;
+ }
+
+ protected String processInlineStyles(FacesContext context,
+ UIMenuItem menuItem,
+ boolean isOnmouseover) {
+ StringBuffer buffer = new StringBuffer();
+ Object style = menuItem.getAttributes().get("style");
+ Object selectStyle = menuItem.getAttributes().get("selectStyle");
+ if (null == selectStyle) {
+ return "";
+ }
+
+ buffer.append("$('" + menuItem.getClientId(context)
+ + "').style.cssText='");
+ if (null != style) {
+ buffer.append(style.toString() + "; ");
+ }
+ if (isOnmouseover) {
+ buffer.append(selectStyle.toString() + ";';");
+ } else {
+ buffer.append("';");
+ }
+ return buffer.toString();
+ }
}
19 years
JBoss Rich Faces SVN: r361 - trunk/richfaces/inputnumber-slider/src/test/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: pkotikov
Date: 2007-04-11 09:35:03 -0400 (Wed, 11 Apr 2007)
New Revision: 361
Modified:
trunk/richfaces/inputnumber-slider/src/test/java/org/richfaces/component/InputNumberSliderComponentTest.java
Log:
Testcases updated.
Modified: trunk/richfaces/inputnumber-slider/src/test/java/org/richfaces/component/InputNumberSliderComponentTest.java
===================================================================
--- trunk/richfaces/inputnumber-slider/src/test/java/org/richfaces/component/InputNumberSliderComponentTest.java 2007-04-11 13:34:52 UTC (rev 360)
+++ trunk/richfaces/inputnumber-slider/src/test/java/org/richfaces/component/InputNumberSliderComponentTest.java 2007-04-11 13:35:03 UTC (rev 361)
@@ -21,6 +21,7 @@
package org.richfaces.component;
+import java.awt.Dimension;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -37,8 +38,16 @@
import javax.faces.el.PropertyNotFoundException;
import javax.faces.el.ValueBinding;
+import org.ajax4jsf.framework.resource.InternetResource;
+import org.ajax4jsf.framework.resource.InternetResourceBuilder;
+import org.ajax4jsf.framework.resource.Java2Dresource;
+import org.ajax4jsf.framework.resource.ResourceContext;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import org.apache.commons.lang.StringUtils;
+import org.richfaces.renderkit.html.images.SliderArrowImage;
+import org.richfaces.renderkit.html.images.SliderArrowSelectedImage;
+import org.richfaces.renderkit.html.images.SliderFieldGradient;
+import org.richfaces.renderkit.html.images.SliderTrackGradient;
import com.gargoylesoftware.htmlunit.KeyValuePair;
import com.gargoylesoftware.htmlunit.html.DomNode;
@@ -173,7 +182,25 @@
}
}
}
+
+ public void testImages() throws Exception {
+ InternetResource image = InternetResourceBuilder.getInstance().createResource(null, SliderFieldGradient.class.getName());
+ Dimension imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 31 && imageDim.getHeight() == 55);
+
+ image = InternetResourceBuilder.getInstance().createResource(null, SliderTrackGradient.class.getName());
+ imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 7 && imageDim.getHeight() == 10);
+ image = InternetResourceBuilder.getInstance().createResource(null, SliderArrowImage.class.getName());
+ imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 7 && imageDim.getHeight() == 8);
+
+ image = InternetResourceBuilder.getInstance().createResource(null, SliderArrowSelectedImage.class.getName());
+ imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 7 && imageDim.getHeight() == 8);
+ }
+
public void testUpdate() throws Exception {
//tests if component handles value bindings correctly
HtmlPage renderedView = renderView();
19 years
JBoss Rich Faces SVN: r360 - trunk/richfaces/inputnumber-spinner/src/test/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: pkotikov
Date: 2007-04-11 09:34:52 -0400 (Wed, 11 Apr 2007)
New Revision: 360
Modified:
trunk/richfaces/inputnumber-spinner/src/test/java/org/richfaces/component/InputNumberSpinnerComponentTest.java
Log:
Testcases updated.
Modified: trunk/richfaces/inputnumber-spinner/src/test/java/org/richfaces/component/InputNumberSpinnerComponentTest.java
===================================================================
--- trunk/richfaces/inputnumber-spinner/src/test/java/org/richfaces/component/InputNumberSpinnerComponentTest.java 2007-04-11 13:08:26 UTC (rev 359)
+++ trunk/richfaces/inputnumber-spinner/src/test/java/org/richfaces/component/InputNumberSpinnerComponentTest.java 2007-04-11 13:34:52 UTC (rev 360)
@@ -21,6 +21,7 @@
package org.richfaces.component;
+import java.awt.Dimension;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
@@ -30,6 +31,7 @@
import javax.faces.component.UICommand;
import javax.faces.component.UIComponent;
import javax.faces.component.UIForm;
+import javax.faces.component.UIInput;
import javax.faces.component.UIViewRoot;
import javax.faces.component.html.HtmlCommandLink;
import javax.faces.component.html.HtmlForm;
@@ -38,8 +40,15 @@
import javax.faces.el.PropertyNotFoundException;
import javax.faces.el.ValueBinding;
+import org.ajax4jsf.framework.resource.InternetResource;
+import org.ajax4jsf.framework.resource.InternetResourceBuilder;
+import org.ajax4jsf.framework.resource.Java2Dresource;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import org.apache.commons.lang.StringUtils;
+import org.richfaces.renderkit.html.images.background.SpinnerButtonGradient;
+import org.richfaces.renderkit.html.images.background.SpinnerFieldGradient;
+import org.richfaces.renderkit.html.images.buttons.SpinnerButtonDown;
+import org.richfaces.renderkit.html.images.buttons.SpinnerButtonUp;
import com.gargoylesoftware.htmlunit.KeyValuePair;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
@@ -130,6 +139,37 @@
}
}
+ public void testDisabledComponent() throws Exception {
+ spinner.getAttributes().put("disabled", Boolean.TRUE);
+ HtmlPage renderedView = renderView();
+
+ HtmlElement buttonsContainer = (HtmlElement) renderedView.getHtmlElementById(spinner.getClientId(facesContext) + "Buttons");
+ assertNotNull(buttonsContainer);
+ Collection inputs = buttonsContainer.getHtmlElementsByTagName("input");
+ for (Iterator iter = inputs.iterator(); iter.hasNext();){
+ HtmlInput child = (HtmlInput)iter.next();
+ assertTrue(child.getAttributeValue("onmouseup").equals(""));
+ }
+ }
+
+ public void testImages() throws Exception {
+ InternetResource image = InternetResourceBuilder.getInstance().createResource(null, SpinnerFieldGradient.class.getName());
+ Dimension imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 30 && imageDim.getHeight() == 50);
+
+ image = InternetResourceBuilder.getInstance().createResource(null, SpinnerButtonGradient.class.getName());
+ imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 30 && imageDim.getHeight() == 50);
+
+ image = InternetResourceBuilder.getInstance().createResource(null, SpinnerButtonDown.class.getName());
+ imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 14 && imageDim.getHeight() == 7);
+
+ image = InternetResourceBuilder.getInstance().createResource(null, SpinnerButtonUp.class.getName());
+ imageDim = ((Java2Dresource)image).getDimensions(facesContext, null);
+ assertTrue( imageDim.getWidth() == 14 && imageDim.getHeight() == 7);
+ }
+
public void testRenderStyle() throws Exception {
HtmlPage page = renderView();
assertNotNull(page);
19 years
JBoss Rich Faces SVN: r359 - trunk/richfaces/menu-components/src/test/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: F.antonov
Date: 2007-04-11 09:08:26 -0400 (Wed, 11 Apr 2007)
New Revision: 359
Modified:
trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java
Log:
Menu item test case development.
Modified: trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java
===================================================================
--- trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java 2007-04-11 13:02:47 UTC (rev 358)
+++ trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java 2007-04-11 13:08:26 UTC (rev 359)
@@ -52,7 +52,7 @@
public class MenuItemComponentTest
extends AbstractAjax4JsfTestCase
{
- private static Set javaScripts = new HashSet<String>();
+ private static Set javaScripts = new HashSet();
static {
javaScripts.add("prototype.js");
19 years