You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2010/01/28 23:52:00 UTC
svn commit: r904288 [3/13] - in /myfaces/tomahawk/trunk/examples/simple20:
./ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/myfaces/
src/main/java/org/apache/myfaces/examples/ src/main/java/org/apac...
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountry.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountry.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountry.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountry.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,212 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.component.html.HtmlDataTable;
+import javax.faces.event.ActionEvent;
+
+/**
+ * DOCUMENT ME!
+ * @author Thomas Spiegl (latest modification by $Author: skitching $)
+ * @version $Revision: 673833 $ $Date: 2008-07-03 16:58:05 -0500 (jue, 03 jul 2008) $
+ */
+public class SimpleCountry implements Serializable
+{
+ /**
+ * serial id for serialisation versioning
+ */
+ private static final long serialVersionUID = 1L;
+ private long _id;
+ private String _name;
+ private String _isoCode;
+ private BigDecimal _size;
+ private boolean _remove = false;
+ private List _cities;
+ private String mSortCitiesColumn;
+ private boolean mIsSortCitiesAscending;
+
+ public SimpleCountry(long id, String name, String isoCode, BigDecimal size, SimpleCity[] cities)
+ {
+ _id = id;
+ _name = name;
+ _isoCode = isoCode;
+ _size = size;
+
+ if (cities != null)
+ _cities = new ArrayList(Arrays.asList(cities));
+ else
+ _cities = new ArrayList();
+ }
+
+ public long getId()
+ {
+ return _id;
+ }
+
+ public String getName()
+ {
+ return _name;
+ }
+
+ public String getIsoCode()
+ {
+ return _isoCode;
+ }
+
+ public BigDecimal getSize()
+ {
+ return _size;
+ }
+
+ public List getCities()
+ {
+ if (mSortCitiesColumn != null)
+ {
+ Collections.sort(_cities, new Comparator()
+ {
+ public int compare(Object arg0, Object arg1)
+ {
+ SimpleCity lhs;
+ SimpleCity rhs;
+ if (isSortCitiesAscending())
+ {
+ lhs = (SimpleCity) arg0;
+ rhs = (SimpleCity) arg1;
+ }
+ else
+ {
+ rhs = (SimpleCity) arg0;
+ lhs = (SimpleCity) arg1;
+ }
+ String lhsName = lhs.getName();
+ String rhsName = rhs.getName();
+ if (lhsName != null)
+ {
+ if(rhsName != null)
+ {
+ return lhsName.compareToIgnoreCase(rhsName);
+ }
+ return -1;
+ }
+ else if (rhsName != null)
+ {
+ return 1;
+ }
+ return 0;
+ }
+ });
+ }
+ return _cities;
+ }
+
+ public void setId(long id)
+ {
+ _id = id;
+ }
+
+ public void setIsoCode(String isoCode)
+ {
+ _isoCode = isoCode;
+ }
+
+ public void setName(String name)
+ {
+ _name = name;
+ }
+
+ public void setSize(BigDecimal size)
+ {
+ _size = size;
+ }
+
+ public boolean isRemove()
+ {
+ return _remove;
+ }
+
+ public void setRemove(boolean remove)
+ {
+ _remove = remove;
+ }
+
+ public String addCity()
+ {
+ getCities().add(new SimpleCity());
+ return null;
+ }
+
+ public void deleteCity(ActionEvent ev)
+ {
+ UIData datatable = findParentHtmlDataTable(ev.getComponent());
+ getCities().remove(datatable.getRowIndex() + datatable.getFirst());
+ }
+
+ public void setSortCitiesColumn(String columnName)
+ {
+ mSortCitiesColumn = columnName;
+ }
+
+ /**
+ * @return Returns the sortCitiesColumn.
+ */
+ public String getSortCitiesColumn()
+ {
+ return mSortCitiesColumn;
+ }
+
+ public boolean isSortCitiesAscending()
+ {
+ return mIsSortCitiesAscending;
+ }
+
+ /**
+ * @param isSortCitiesAscending The isSortCitiesAscending to set.
+ */
+ public void setSortCitiesAscending(boolean isSortCitiesAscending)
+ {
+ mIsSortCitiesAscending = isSortCitiesAscending;
+ }
+
+ /**
+ * @param component
+ * @return
+ */
+ private HtmlDataTable findParentHtmlDataTable(UIComponent component)
+ {
+ if (component == null)
+ {
+ return null;
+ }
+ if (component instanceof HtmlDataTable)
+ {
+ return (HtmlDataTable) component;
+ }
+ return findParentHtmlDataTable(component.getParent());
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryForm.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryForm.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryForm.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryForm.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+import javax.faces.context.FacesContext;
+
+
+/**
+ * DOCUMENT ME!
+ * @author Manfred Geiler (latest modification by $Author: skitching $)
+ * @author Thomas Spiegl
+ * @version $Revision: 673833 $ $Date: 2008-07-03 16:58:05 -0500 (jue, 03 jul 2008) $
+ */
+public class SimpleCountryForm
+{
+ private boolean renderHeader = true;
+ private boolean renderFooter = true;
+
+ private long _id;
+ private String _name;
+ private String _isoCode;
+
+ public long getId()
+ {
+ return _id;
+ }
+
+ public void setId(long id)
+ {
+ _id = id;
+ if (_id > 0)
+ {
+ SimpleCountry simpleCountry = getList().getSimpleCountry(_id);
+ if (simpleCountry == null)
+ {
+ return;
+ }
+ _name = simpleCountry.getName();
+ _isoCode = simpleCountry.getIsoCode();
+ }
+ }
+
+ public void setIsoCode(String isoCode)
+ {
+ _isoCode = isoCode;
+ }
+
+ public String getIsoCode()
+ {
+ return _isoCode;
+ }
+
+ public String getName()
+ {
+ return _name;
+ }
+
+ public void setName(String name)
+ {
+ _name = name;
+ }
+
+ private SimpleCountry getSimpleCountry()
+ {
+ return new SimpleCountry(_id, _name, _isoCode, null, null);
+ }
+
+ public boolean isRenderFooter()
+ {
+ return renderFooter;
+ }
+
+ public void setRenderFooter(boolean renderFooter)
+ {
+ this.renderFooter = renderFooter;
+ }
+
+ public boolean isRenderHeader()
+ {
+ return renderHeader;
+ }
+
+ public void setRenderHeader(boolean renderHeader)
+ {
+ this.renderHeader = renderHeader;
+ }
+
+ public String save()
+ {
+ getList().saveSimpleCountry(getSimpleCountry());
+ return "ok_next";
+ }
+
+ public String delete()
+ {
+ getList().deleteSimpleCountry(getSimpleCountry());
+ return "ok_next";
+ }
+
+ public String apply()
+ {
+ getList().saveSimpleCountry(getSimpleCountry());
+ return "ok";
+ }
+
+ private SimpleCountryList getList()
+ {
+ Object obj = FacesContext.getCurrentInstance().getApplication().getVariableResolver()
+ .resolveVariable(FacesContext.getCurrentInstance(), "countryList");
+ return (SimpleCountryList) obj;
+
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryList.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryList.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryList.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleCountryList.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,184 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+import org.apache.myfaces.component.html.ext.HtmlDataTable;
+
+import javax.faces.event.ActionEvent;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * DOCUMENT ME!
+ * @author Thomas Spiegl (latest modification by $Author: skitching $)
+ * @version $Revision: 673833 $ $Date: 2008-07-03 16:58:05 -0500 (jue, 03 jul 2008) $
+ */
+public class SimpleCountryList
+{
+ private List _countries = new ArrayList();
+ static
+ {
+ }
+
+ SimpleCountry getSimpleCountry(long id)
+ {
+ for (int i = 0; i < _countries.size(); i++)
+ {
+ SimpleCountry country = (SimpleCountry)_countries.get(i);
+ if (country.getId() == id)
+ {
+ return country;
+ }
+ }
+ return null;
+ }
+
+ long getNewSimpleCountryId()
+ {
+ long maxId = 0;
+ for (int i = 0; i < _countries.size(); i++)
+ {
+ SimpleCountry country = (SimpleCountry)_countries.get(i);
+ if (country.getId() > maxId)
+ {
+ maxId = country.getId();
+ }
+ }
+ return maxId + 1;
+ }
+
+ void saveSimpleCountry(SimpleCountry simpleCountry)
+ {
+ if (simpleCountry.getId() == 0)
+ {
+ simpleCountry.setId(getNewSimpleCountryId());
+ }
+ boolean found = false;
+ for (int i = 0; i < _countries.size(); i++)
+ {
+ SimpleCountry country = (SimpleCountry)_countries.get(i);
+ if (country.getId() == simpleCountry.getId())
+ {
+ _countries.set(i, simpleCountry);
+ found = true;
+ }
+ }
+ if (!found)
+ {
+ _countries.add(simpleCountry);
+ }
+ }
+
+ void deleteSimpleCountry(SimpleCountry simpleCountry)
+ {
+ for (int i = 0; i < _countries.size(); i++)
+ {
+ SimpleCountry country = (SimpleCountry)_countries.get(i);
+ if (country.getId() == simpleCountry.getId())
+ {
+ _countries.remove(i);
+ }
+ }
+ }
+
+ public SimpleCountryList()
+ {
+ _countries.add(new SimpleCountry(1, "AUSTRIA", "AT", new BigDecimal(123L), createCities(new String[]{"Wien","Graz","Linz","Salzburg"})));
+ _countries.add(new SimpleCountry(2, "AZERBAIJAN", "AZ", new BigDecimal(535L), createCities(new String[]{"Baku","Sumgait","Qabala","Agdam"})));
+ _countries.add(new SimpleCountry(3, "BAHAMAS", "BS", new BigDecimal(1345623L), createCities(new String[]{"Nassau","Alice Town","Church Grove","West End"})));
+ _countries.add(new SimpleCountry(4, "BAHRAIN", "BH", new BigDecimal(346L), createCities(new String[]{"Bahrain"})));
+ _countries.add(new SimpleCountry(5, "BANGLADESH", "BD", new BigDecimal(456L), createCities(new String[]{"Chittagong","Chandpur","Bogra","Feni"})));
+ _countries.add(new SimpleCountry(6, "BARBADOS", "BB", new BigDecimal(45645L), createCities(new String[]{"Grantley Adams"})));
+ }
+
+ /**
+ * @param names
+ * @return
+ */
+ private SimpleCity[] createCities(String[] names)
+ {
+ SimpleCity[] result = new SimpleCity[names.length];
+ for (int i = 0; i < result.length; i++)
+ {
+ result[i] = new SimpleCity(names[i]);
+ }
+ return result;
+ }
+
+ public List getCountries()
+ {
+ return _countries;
+ }
+
+ public Map getCountryMap()
+ {
+ Map map = new HashMap();
+
+ List li = getCountries();
+
+ for (int i = 0; i < li.size(); i++)
+ {
+ SimpleCountry simpleCountry = (SimpleCountry) li.get(i);
+ map.put(simpleCountry.getIsoCode(),simpleCountry.getName());
+ }
+
+ return map;
+ }
+
+ public void setCountries(List countries)
+ {
+ _countries = countries;
+ }
+
+ public String addCountry()
+ {
+ List list = getCountries();
+ list.add(new SimpleCountry(list.size() + 1, "", "", new BigDecimal(0), createCities(new String[] {})));
+ return "ok";
+ }
+
+ public void deleteCountry(ActionEvent ev)
+ {
+ UIData datatable = findParentHtmlDataTable(ev.getComponent());
+ getCountries().remove(datatable.getRowIndex() + datatable.getFirst());
+ }
+
+ /**
+ * @param component
+ * @return
+ */
+ private HtmlDataTable findParentHtmlDataTable(UIComponent component)
+ {
+ if (component == null)
+ {
+ return null;
+ }
+ if (component instanceof HtmlDataTable)
+ {
+ return (HtmlDataTable) component;
+ }
+ return findParentHtmlDataTable(component.getParent());
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleDemo.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleDemo.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleDemo.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleDemo.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+import java.io.Serializable;
+
+/**
+ * DOCUMENT ME!
+ * @author Thomas Spiegl (latest modification by $Author: werpu $)
+ * @version $Revision: 371731 $ $Date: 2006-01-24 01:18:44 +0100 (Di, 24 Jan 2006) $
+ */
+public class SimpleDemo
+ implements Serializable
+{
+ /**
+ * serial id for serialisation versioning
+ */
+ private static final long serialVersionUID = 1L;
+ private int _id;
+ private String _value1;
+ private String _value2;
+
+ public SimpleDemo(int id, String type, String color)
+ {
+ _id = id;
+ _value1 = type;
+ _value2 = color;
+ }
+
+ public int getId()
+ {
+ return _id;
+ }
+
+ public void setId(int id)
+ {
+ _id = id;
+ }
+
+ public String getValue1()
+ {
+ return _value1;
+ }
+
+ public void setValue1(String value1)
+ {
+ _value1 = value1;
+ }
+
+ public String getValue2()
+ {
+ return _value2;
+ }
+
+ public void setValue2(String value2)
+ {
+ _value2 = value2;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleGroupByList.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleGroupByList.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleGroupByList.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleGroupByList.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.examples.listexample;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class SimpleGroupByList
+{
+ private List _demoList = new ArrayList();
+
+ private Map _demoListMap = new HashMap();
+
+ public SimpleGroupByList()
+ {
+ for (int i = 0; i < 12; i++)
+ {
+ Object demo = new SimpleDemo(i, (i < 3 )? "Group 1":(i < 6 ) ? "Group 2": (i < 9)?"Group 3":"Group 4", "Item "+i);
+ _demoList.add(demo);
+ _demoListMap.put(new Integer(i), demo);
+ }
+ }
+
+ public List getDemoList()
+ {
+ return _demoList;
+ }
+
+ public void setDemoList(List demo)
+ {
+ _demoList = demo;
+ }
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleSortableCarList.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleSortableCarList.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleSortableCarList.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SimpleSortableCarList.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ * DOCUMENT ME!
+ * @author Thomas Spiegl (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class SimpleSortableCarList extends SortableList
+{
+ private List _cars;
+
+ public SimpleSortableCarList()
+ {
+ super("type");
+
+ _cars = new ArrayList();
+ _cars.add(new SimpleCar(1, "car A", "red"));
+ _cars.add(new SimpleCar(1, "car B", "blue"));
+ _cars.add(new SimpleCar(1, "car C", "green"));
+ _cars.add(new SimpleCar(1, "car D", "yellow"));
+ _cars.add(new SimpleCar(1, "car E", "orange"));
+ }
+
+ public List getCars()
+ {
+ sort(getSort(), isAscending());
+ return _cars;
+ }
+
+ protected boolean isDefaultAscending(String sortColumn)
+ {
+ return true;
+ }
+
+ protected void sort(final String column, final boolean ascending)
+ {
+ Comparator comparator = new Comparator()
+ {
+ public int compare(Object o1, Object o2)
+ {
+ SimpleCar c1 = (SimpleCar)o1;
+ SimpleCar c2 = (SimpleCar)o2;
+ if (column == null)
+ {
+ return 0;
+ }
+ if (column.equals("type"))
+ {
+ return ascending ? c1.getType().compareTo(c2.getType()) : c2.getType().compareTo(c1.getType());
+ }
+ else if (column.equals("color"))
+ {
+ return ascending ? c1.getColor().compareTo(c2.getColor()) : c2.getColor().compareTo(c1.getColor());
+ }
+ else return 0;
+ }
+ };
+ Collections.sort(_cars, comparator);
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SortableList.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SortableList.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SortableList.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/SortableList.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+
+
+/**
+ * Convenient base class for sortable lists.
+ * @author Thomas Spiegl (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public abstract class SortableList
+{
+ private String _sort;
+ private boolean _ascending;
+
+ protected SortableList(String defaultSortColumn)
+ {
+ _sort = defaultSortColumn;
+ _ascending = isDefaultAscending(defaultSortColumn);
+ }
+
+ /**
+ * Sort the list.
+ */
+ protected abstract void sort(String column, boolean ascending);
+
+ /**
+ * Is the default sort direction for the given column "ascending" ?
+ */
+ protected abstract boolean isDefaultAscending(String sortColumn);
+
+
+ public void sort(String sortColumn)
+ {
+ if (sortColumn == null)
+ {
+ throw new IllegalArgumentException("Argument sortColumn must not be null.");
+ }
+
+ if (_sort.equals(sortColumn))
+ {
+ //current sort equals new sortColumn -> reverse sort order
+ _ascending = !_ascending;
+ }
+ else
+ {
+ //sort new column in default direction
+ _sort = sortColumn;
+ _ascending = isDefaultAscending(_sort);
+ }
+
+ sort(_sort, _ascending);
+ }
+
+ public String getSort()
+ {
+ return _sort;
+ }
+
+ public void setSort(String sort)
+ {
+ _sort = sort;
+ }
+
+ public boolean isAscending()
+ {
+ return _ascending;
+ }
+
+ public void setAscending(boolean ascending)
+ {
+ _ascending = ascending;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeItem.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeItem.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeItem.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeItem.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * Bean class holding a tree item.
+ * </p>
+ *
+ * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
+ * */
+public class TreeItem implements Serializable
+{
+ /**
+ * serial id for serialisation versioning
+ */
+ private static final long serialVersionUID = 1L;
+
+ private int id;
+
+ private String name;
+
+ private String isoCode;
+
+ private String description;
+
+
+ /**
+ * @param id The id.
+ * @param name The name.
+ * @param isoCode The isoCode.
+ * @param description The description.
+ */
+ public TreeItem(int id, String name, String isoCode, String description)
+ {
+ this.id = id;
+ this.name = name;
+ this.isoCode = isoCode;
+ this.description = description;
+ }
+
+ /**
+ * @return Returns the description.
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * @param description The description to set.
+ */
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ /**
+ * @return Returns the id.
+ */
+ public int getId()
+ {
+ return id;
+ }
+
+ /**
+ * @param id The id to set.
+ */
+ public void setId(int id)
+ {
+ this.id = id;
+ }
+
+ /**
+ * @return Returns the isoCode.
+ */
+ public String getIsoCode()
+ {
+ return isoCode;
+ }
+
+ /**
+ * @param isoCode The isoCode to set.
+ */
+ public void setIsoCode(String isoCode)
+ {
+ this.isoCode = isoCode;
+ }
+
+ /**
+ * @return Returns the name.
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name The name to set.
+ */
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeTable.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeTable.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeTable.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/listexample/TreeTable.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.listexample;
+
+import java.io.Serializable;
+
+import org.apache.myfaces.custom.tree.DefaultMutableTreeNode;
+import org.apache.myfaces.custom.tree.model.DefaultTreeModel;
+
+/**
+ * <p>
+ * Bean holding the tree hierarchy.
+ * </p>
+ *
+ * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
+ */
+public class TreeTable implements Serializable
+{
+ /**
+ * serial id for serialisation versioning
+ */
+ private static final long serialVersionUID = 1L;
+
+ private DefaultTreeModel treeModel;
+
+ /**
+ * @param treeModel The treeModel.
+ */
+ public TreeTable(DefaultTreeModel treeModel)
+ {
+ this.treeModel = treeModel;
+ }
+
+ /**
+ * <p>
+ * Default constructor.
+ * </p>
+ */
+ public TreeTable()
+ {
+ DefaultMutableTreeNode root = new DefaultMutableTreeNode(new TreeItem(1, "XY", "9001", "XY 9001"));
+ DefaultMutableTreeNode a = new DefaultMutableTreeNode(new TreeItem(2, "A", "9001", "A 9001"));
+ root.insert(a);
+ DefaultMutableTreeNode b = new DefaultMutableTreeNode(new TreeItem(3, "B", "9001", "B 9001"));
+ root.insert(b);
+ DefaultMutableTreeNode c = new DefaultMutableTreeNode(new TreeItem(4, "C", "9001", "C 9001"));
+ root.insert(c);
+
+ DefaultMutableTreeNode node = new DefaultMutableTreeNode(new TreeItem(5, "a1", "9002", "a1 9002"));
+ a.insert(node);
+ node = new DefaultMutableTreeNode(new TreeItem(6, "a2", "9002", "a2 9002"));
+ a.insert(node);
+ node = new DefaultMutableTreeNode(new TreeItem(7, "a3", "9002", "a3 9002"));
+ a.insert(node);
+ node = new DefaultMutableTreeNode(new TreeItem(8, "b", "9002", "b 9002"));
+ b.insert(node);
+
+ a = node;
+ node = new DefaultMutableTreeNode(new TreeItem(9, "x1", "9003", "x1 9003"));
+ a.insert(node);
+ node = new DefaultMutableTreeNode(new TreeItem(9, "x2", "9003", "x2 9003"));
+ a.insert(node);
+
+ this.treeModel = new DefaultTreeModel(root);
+ }
+
+ /**
+ * @return Returns the treeModel.
+ */
+ public DefaultTreeModel getTreeModel()
+ {
+ return treeModel;
+ }
+
+ /**
+ * @param treeModel The treeModel to set.
+ */
+ public void setTreeModel(DefaultTreeModel treeModel)
+ {
+ this.treeModel = treeModel;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/AutoScrollBean.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/AutoScrollBean.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/AutoScrollBean.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/AutoScrollBean.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.examples.misc;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Bean to demonstrate the org.apache.myfaces.AUTO_SCROLL init parameter behaviour
+ *
+ * @author Bruno Aranda (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class AutoScrollBean
+{
+
+ private List numbers;
+
+ public AutoScrollBean()
+ {
+ this.numbers = new ArrayList(100);
+
+ for (int i=0; i<100; i++)
+ {
+ numbers.add(String.valueOf(i));
+ }
+ }
+
+ public List getNumbers()
+ {
+ return numbers;
+ }
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/FileUploadForm.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/FileUploadForm.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/FileUploadForm.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/FileUploadForm.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+import java.io.IOException;
+
+import org.apache.myfaces.custom.fileupload.UploadedFile;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author Manfred Geiler (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class FileUploadForm
+{
+ private UploadedFile _upFile;
+ private String _name = "";
+
+ public UploadedFile getUpFile()
+ {
+ return _upFile;
+ }
+
+ public void setUpFile(UploadedFile upFile)
+ {
+ _upFile = upFile;
+ }
+
+ public String getName()
+ {
+ return _name;
+ }
+
+ public void setName(String name)
+ {
+ _name = name;
+ }
+
+ public String upload() throws IOException
+ {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ facesContext.getExternalContext().getApplicationMap().put("fileupload_bytes", _upFile.getBytes());
+ facesContext.getExternalContext().getApplicationMap().put("fileupload_type", _upFile.getContentType());
+ facesContext.getExternalContext().getApplicationMap().put("fileupload_name", _upFile.getName());
+ return "ok";
+ }
+
+ public boolean isUploaded()
+ {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ return facesContext.getExternalContext().getApplicationMap().get("fileupload_bytes")!=null;
+ }
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/GlobalOptions.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/GlobalOptions.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/GlobalOptions.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/GlobalOptions.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+/**
+ * Global (dynamically changeable) options for examples application.
+ * @author Manfred Geiler (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class GlobalOptions
+{
+ private String _pageLayout;
+
+ public String getPageLayout()
+ {
+ return _pageLayout;
+ }
+
+ public void setPageLayout(String pageLayout)
+ {
+ _pageLayout = pageLayout;
+ }
+
+
+ public String getNumericAsString() {
+ return "23";
+ }
+
+
+ public long getNumeric() {
+ return 23L;
+ }
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/Language.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/Language.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/Language.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/Language.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+
+/**
+ * @author Sylvain Vieujot (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2005-03-24 12:47:11 -0400 (Thu, 24 Mar 2005) $
+ */
+public class Language
+{
+ private String code = null;
+
+ public String getCode() {
+ return code;
+ }
+ public void setCode(String code) {
+ this.code = code;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/NavigationMenu.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/NavigationMenu.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/NavigationMenu.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/NavigationMenu.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+import org.apache.myfaces.custom.navmenu.NavigationMenuItem;
+import org.apache.myfaces.custom.navmenu.jscookmenu.HtmlCommandJSCookMenu;
+import org.apache.myfaces.custom.navmenu.htmlnavmenu.HtmlCommandNavigationItem;
+import org.apache.myfaces.examples.util.GuiUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.faces.event.ActionEvent;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author Thomas Spiegl (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class NavigationMenu {
+ private static final Log log = LogFactory.getLog(NavigationMenu.class);
+
+ public NavigationMenuItem[] getInfoItems() {
+ String label = GuiUtil.getMessageResource("nav_Info", null);
+ NavigationMenuItem[] menu = new NavigationMenuItem[1];
+
+ menu[0] = new NavigationMenuItem(label, null, null, true);
+
+ NavigationMenuItem[] items = new NavigationMenuItem[2];
+ menu[0].setNavigationMenuItems(items);
+
+ label = GuiUtil.getMessageResource("nav_Contact", null);
+ items[0] = new NavigationMenuItem(label, "go_contact", "images/help.gif", false);
+
+ label = GuiUtil.getMessageResource("nav_Copyright", null);
+ items[1] = new NavigationMenuItem(label, "go_copyright", "images/help.gif", false);
+
+ return menu;
+ }
+
+ public List getJSCookMenuNavigationItems() {
+ List menu = new ArrayList();
+ menu.add(getMenuNaviagtionItem("Home", "go_home"));
+ return menu;
+ }
+
+ public List getPanelNavigationItems() {
+ List menu = new ArrayList();
+ // Products
+ NavigationMenuItem products = getMenuNaviagtionItem("#{example_messages['panelnav_products']}", null);
+ menu.add(products);
+ products.add(getMenuNaviagtionItem("#{example_messages['panelnav_serach']}", "#{navigationMenu.getAction2}"));
+ products.add(getMenuNaviagtionItem("#{example_messages['panelnav_serach_acc']}", "#{navigationMenu.getAction2}"));
+ NavigationMenuItem item = getMenuNaviagtionItem("#{example_messages['panelnav_search_adv']}", "#{navigationMenu.getAction2}");
+ item.setActive(true);
+ item.setOpen(true);
+ item.setTarget("_blank");
+ products.add(item);
+ // Shop
+ menu.add(getMenuNaviagtionItem("#{example_messages['panelnav_shop']}", "#{navigationMenu.getAction2}"));
+ // Corporate Info
+ NavigationMenuItem corporateInfo = getMenuNaviagtionItem("#{example_messages['panelnav_corporate']}", null);
+ menu.add(corporateInfo);
+ corporateInfo.add(getMenuNaviagtionItem("#{example_messages['panelnav_news']}", "#{navigationMenu.getAction2}"));
+ item = getMenuNaviagtionItem("#{example_messages['panelnav_investor']}", "#{navigationMenu.getAction3}");
+ //item.setIcon("images/arrow-first.gif");
+ item.setDisabled(true);
+ corporateInfo.add(item);
+ // Contact
+ menu.add(getMenuNaviagtionItem("#{example_messages['panelnav_contact']}", "#{navigationMenu.getAction2}"));
+ // External Link
+ item = getMenuNaviagtionItem("#{example_messages['panelnav_contact']}", null);
+ item.setExternalLink("#{example_messages['external_link']}");
+ item.setTarget("_blank");
+ menu.add(item);
+ return menu;
+ }
+
+ private static NavigationMenuItem getMenuNaviagtionItem(String label, String action) {
+ NavigationMenuItem item = new NavigationMenuItem(label, action);
+ item.setActionListener("#{navigationMenu.actionListener}");
+ item.setValue(label);
+ return item;
+ }
+
+ public String getAction1() {
+ return "go_panelnavigation_1";
+ }
+
+ public String actionListener(ActionEvent event) {
+ if (event.getComponent() instanceof HtmlCommandNavigationItem) {
+ log.info("ActionListener: " + ((HtmlCommandNavigationItem) event.getComponent()).getValue());
+ return getAction1();
+ }
+ else {
+ String outcome = (String) ((HtmlCommandJSCookMenu) event.getComponent()).getValue();
+ log.info("ActionListener: " + outcome);
+ return outcome;
+ }
+ }
+
+ public String getAction2() {
+ return "go_panelnavigation_2";
+ }
+
+ public String getAction3() {
+ return "go_panelnavigation_3";
+ }
+
+ public String goHome() {
+ return "go_home";
+ }
+
+ public boolean getDisabled() {
+ return true;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsController.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsController.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsController.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsController.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+import javax.faces.context.FacesContext;
+import javax.faces.el.VariableResolver;
+
+
+/**
+ * DOCUMENT ME!
+ * @author Manfred Geiler
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class OptionsController
+{
+ public String changeLocale()
+ {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ VariableResolver vr = facesContext.getApplication().getVariableResolver();
+ OptionsForm form = (OptionsForm)vr.resolveVariable(facesContext, "optionsForm");
+ facesContext.getViewRoot().setLocale(form.getLocale());
+ return "ok";
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsForm.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsForm.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsForm.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/OptionsForm.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+import javax.faces.context.FacesContext;
+import javax.faces.model.SelectItem;
+import java.util.AbstractList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * DOCUMENT ME!
+ * @author Manfred Geiler (latest modification by $Author: skitching $)
+ * @version $Revision: 673833 $ $Date: 2008-07-03 16:58:05 -0500 (jue, 03 jul 2008) $
+ */
+public class OptionsForm
+{
+ private static final Locale SPANISH = new Locale("es", "","");
+ private static final Locale CATALAN = new Locale("ca", "","");
+
+ private static final List AVAILABLE_LOCALES
+ = Arrays.asList(new Locale[] {Locale.ENGLISH,
+ Locale.CHINESE,
+ Locale.GERMAN,
+ Locale.JAPANESE,
+ Locale.FRENCH,
+ SPANISH,
+ CATALAN});
+
+ private Locale _locale = null;
+
+ public String getLanguage()
+ {
+ return _locale != null
+ ? _locale.getLanguage()
+ : FacesContext.getCurrentInstance().getViewRoot().getLocale().getLanguage();
+ }
+
+ public void setLanguage(String language)
+ {
+ _locale = new Locale(language);
+ }
+
+ public Locale getLocale()
+ {
+ return _locale;
+ }
+
+ public List getAvailableLanguages()
+ {
+ return new AbstractList()
+ {
+ public Object get(int index)
+ {
+ Locale locale = (Locale)AVAILABLE_LOCALES.get(index);
+ String language = locale.getDisplayLanguage(locale);
+ return new SelectItem(locale.getLanguage(), language, language);
+ }
+
+ public int size()
+ {
+ return AVAILABLE_LOCALES.size();
+ }
+ };
+ }
+
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TabbedPaneBean.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TabbedPaneBean.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TabbedPaneBean.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TabbedPaneBean.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.examples.misc;
+
+import java.io.Serializable;
+
+/**
+ * @author Manfred Geiler (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class TabbedPaneBean implements Serializable
+{
+ //private static final Log log = LogFactory.getLog(TabbedPaneBean.class);
+
+ /**
+ * serial id for serialisation versioning
+ */
+ private static final long serialVersionUID = 1L;
+
+ private boolean _tab1Visible = true;
+ private boolean _tab2Visible = true;
+ private boolean _tab3Visible = true;
+
+ public boolean isTab1Visible()
+ {
+ return _tab1Visible;
+ }
+
+ public void setTab1Visible(boolean tab1Visible)
+ {
+ _tab1Visible = tab1Visible;
+ }
+
+ public boolean isTab2Visible()
+ {
+ return _tab2Visible;
+ }
+
+ public void setTab2Visible(boolean tab2Visible)
+ {
+ _tab2Visible = tab2Visible;
+ }
+
+ public boolean isTab3Visible()
+ {
+ return _tab3Visible;
+ }
+
+ public void setTab3Visible(boolean tab3Visible)
+ {
+ _tab3Visible = tab3Visible;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBox.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBox.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBox.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBox.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+import java.io.Serializable;
+
+/**
+ * @author Sylvain Vieujot (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class TestCheckBox implements Serializable
+{
+ private boolean checked;
+ private String text;
+
+
+ public boolean isChecked() {
+ return checked;
+ }
+ public void setChecked(boolean checked) {
+ this.checked = checked;
+ }
+
+
+ public String getText() {
+ return text;
+ }
+ public void setText(String text) {
+ this.text = text;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBoxList.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBoxList.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBoxList.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestCheckBoxList.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Sylvain Vieujot (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class TestCheckBoxList
+{
+ private List testCheckBoxes;
+
+ public TestCheckBoxList(){
+ testCheckBoxes = new ArrayList(3);
+
+ for(int i=0 ; i<3 ; i++)
+ testCheckBoxes.add( new TestCheckBox() );
+ }
+
+ public List getTestCheckBoxes() {
+ return testCheckBoxes;
+ }
+ public void setTestCheckBoxes(List testCheckBoxes) {
+ this.testCheckBoxes = testCheckBoxes;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestRadioButton.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestRadioButton.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestRadioButton.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/misc/TestRadioButton.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.misc;
+
+/**
+ * @author Sylvain Vieujot (latest modification by $Author: grantsmith $)
+ * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (mié, 08 nov 2006) $
+ */
+public class TestRadioButton
+{
+ private String choice;
+
+ public String getChoice() {
+ return choice;
+ }
+ public void setChoice(String choice) {
+ this.choice = choice;
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/picklist/PicklistBean.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/picklist/PicklistBean.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/picklist/PicklistBean.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/picklist/PicklistBean.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.picklist;
+
+import java.util.ArrayList;
+
+import javax.faces.event.ValueChangeEvent;
+import javax.faces.model.SelectItem;
+
+public class PicklistBean
+{
+ private ArrayList testList = new ArrayList();
+
+ private String selectedInfo;
+
+ public PicklistBean()
+ {
+ testList.add(new SelectItem("option4", "another option 4"));
+ testList.add(new SelectItem("option5", "another option 5"));
+ testList.add(new SelectItem("option6", "another option 6"));
+ }
+
+ public void selectionChanged(ValueChangeEvent evt)
+ {
+ String[] selectedValues = (String[]) evt.getNewValue();
+
+ if (selectedValues.length == 0)
+ {
+ selectedInfo = "No selected values";
+ }
+ else
+ {
+
+ StringBuffer sb = new StringBuffer("Selected values: ");
+
+ for (int i = 0; i < selectedValues.length; i++)
+ {
+ if (i > 0)
+ sb.append(", ");
+ sb.append(selectedValues[i]);
+ }
+
+ selectedInfo = sb.toString();
+ }
+ }
+
+ public ArrayList getTestList()
+ {
+ return testList;
+ }
+
+ public String getSelectedInfo()
+ {
+ return selectedInfo;
+ }
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/AddEntryHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/AddEntryHandler.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/AddEntryHandler.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/AddEntryHandler.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,135 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.examples.schedule;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.myfaces.custom.schedule.model.DefaultScheduleEntry;
+import org.apache.myfaces.custom.schedule.model.ScheduleModel;
+
+/**
+ * Handler class for manually adding an entry to the example schedule model.
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @version $Revision$
+ */
+public class AddEntryHandler implements Serializable
+{
+ private static final long serialVersionUID = -4253400845605088699L;
+
+ private Date from;
+
+ private Date until;
+
+ private String title;
+
+ private String location;
+
+ private String comments;
+
+ private ScheduleModel model;
+
+ public String getComments()
+ {
+ return comments;
+ }
+
+ public void setComments(String comments)
+ {
+ this.comments = comments;
+ }
+
+ public Date getFrom()
+ {
+ return from;
+ }
+
+ public void setFrom(Date from)
+ {
+ this.from = from;
+ }
+
+ public String getLocation()
+ {
+ return location;
+ }
+
+ public void setLocation(String location)
+ {
+ this.location = location;
+ }
+
+ public ScheduleModel getModel()
+ {
+ return model;
+ }
+
+ public void setModel(ScheduleModel model)
+ {
+ this.model = model;
+ }
+
+ public String getTitle()
+ {
+ return title;
+ }
+
+ public void setTitle(String title)
+ {
+ this.title = title;
+ }
+
+ public Date getUntil()
+ {
+ return until;
+ }
+
+ public void setUntil(Date until)
+ {
+ this.until = until;
+ }
+
+ public String add()
+ {
+ if (!from.before(until))
+ {
+ FacesContext.getCurrentInstance().addMessage(
+ null,
+ new FacesMessage(FacesMessage.SEVERITY_ERROR,
+ "start time must be before end time", null));
+ return "failure";
+ }
+ DefaultScheduleEntry entry = new DefaultScheduleEntry();
+ entry.setId(RandomStringUtils.randomNumeric(32));
+ entry.setStartTime(from);
+ entry.setEndTime(until);
+ entry.setTitle(title);
+ entry.setSubtitle(location);
+ entry.setDescription(comments);
+ model.addEntry(entry);
+ model.refresh();
+ return "success";
+ }
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/BindingScheduleExampleHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/BindingScheduleExampleHandler.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/BindingScheduleExampleHandler.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/BindingScheduleExampleHandler.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.examples.schedule;
+
+import java.io.Serializable;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.custom.schedule.HtmlSchedule;
+import org.apache.myfaces.custom.schedule.ScheduleMouseEvent;
+
+/**
+ * Handler class for demonstrating the schedule mouse events.
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @version $Revision$
+ */
+public class BindingScheduleExampleHandler extends ScheduleExampleHandler
+ implements Serializable
+{
+ private static final long serialVersionUID = 763734566918182549L;
+ private static final Log log = LogFactory
+ .getLog(BindingScheduleExampleHandler.class);
+ private HtmlSchedule schedule;
+ private String mouseActionText;
+
+ public String getMouseActionText()
+ {
+ return mouseActionText;
+ }
+
+ public HtmlSchedule getSchedule()
+ {
+ return schedule;
+ }
+
+ public void setSchedule(HtmlSchedule schedule)
+ {
+ this.schedule = schedule;
+ }
+
+ public String getLastClickedDate()
+ {
+ if (getSchedule() == null
+ || getSchedule().getLastClickedDateAndTime() == null)
+ return "no date/time clicked";
+ return getSchedule().getLastClickedDateAndTime().toString();
+ }
+
+ public String scheduleAction()
+ {
+ log.info("The schedule was clicked");
+ log.info("selected entry: " + schedule.getModel().getSelectedEntry());
+ return "success";
+ }
+
+ public void scheduleClicked(ScheduleMouseEvent event)
+ {
+ log.info("scheduleClicked!!!" + event.getEventType());
+ StringBuffer buffer = new StringBuffer();
+ switch (event.getEventType())
+ {
+ case ScheduleMouseEvent.SCHEDULE_BODY_CLICKED:
+ buffer.append("schedule body was clicked: ");
+ buffer.append(event.getClickedTime());
+ break;
+ case ScheduleMouseEvent.SCHEDULE_HEADER_CLICKED:
+ buffer.append("schedule header was clicked: ");
+ buffer.append(event.getClickedDate());
+ break;
+ case ScheduleMouseEvent.SCHEDULE_ENTRY_CLICKED:
+ buffer.append("schedule entry was clicked.");
+
+ break;
+ default:
+ buffer.append("no schedule mouse events registered");
+ }
+ mouseActionText = buffer.toString();
+ }
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/RandomColorScheduleEntryRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/RandomColorScheduleEntryRenderer.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/RandomColorScheduleEntryRenderer.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/RandomColorScheduleEntryRenderer.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.examples.schedule;
+
+import java.util.HashMap;
+import java.util.Random;
+
+import javax.faces.context.FacesContext;
+
+import org.apache.myfaces.custom.schedule.DefaultScheduleEntryRenderer;
+import org.apache.myfaces.custom.schedule.HtmlSchedule;
+import org.apache.myfaces.custom.schedule.model.ScheduleEntry;
+
+/**
+ * An example ScheduleEntryRenderer that assigns a random color to each
+ * entry.
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @version $Revision$
+ */
+public class RandomColorScheduleEntryRenderer extends
+ DefaultScheduleEntryRenderer
+{
+ private static final long serialVersionUID = -4594648204963119057L;
+ private HashMap colors = new HashMap();
+
+ public String getColor(FacesContext context, HtmlSchedule schedule,
+ ScheduleEntry entry, boolean selected)
+ {
+ if (colors.containsKey(entry.getId()))
+ return (String) colors.get(entry.getId());
+ StringBuffer color = new StringBuffer();
+ Random random = new Random();
+ color.append("rgb(");
+ color.append(random.nextInt(255));
+ color.append(",");
+ color.append(random.nextInt(255));
+ color.append(",");
+ color.append(random.nextInt(255));
+ color.append(")");
+ String colorString = color.toString();
+ colors.put(entry.getId(), colorString);
+ return colorString;
+ }
+
+}
Added: myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/ScheduleExampleHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/ScheduleExampleHandler.java?rev=904288&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/ScheduleExampleHandler.java (added)
+++ myfaces/tomahawk/trunk/examples/simple20/src/main/java/org/apache/myfaces/examples/schedule/ScheduleExampleHandler.java Thu Jan 28 22:51:42 2010
@@ -0,0 +1,156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.examples.schedule;
+
+import java.io.Serializable;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+import javax.faces.event.ActionEvent;
+
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.myfaces.custom.schedule.model.DefaultScheduleEntry;
+import org.apache.myfaces.custom.schedule.model.ScheduleModel;
+import org.apache.myfaces.custom.schedule.model.SimpleScheduleModel;
+
+/**
+ * Handler class for the schedule example
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @version $Revision$
+ */
+public class ScheduleExampleHandler implements Serializable
+{
+ private static final long serialVersionUID = -8815771399735333108L;
+
+ private ScheduleModel model;
+
+ public ScheduleModel getModel()
+ {
+ return model;
+ }
+
+ public void setModel(ScheduleModel model)
+ {
+ this.model = model;
+ }
+
+ public void deleteSelectedEntry(ActionEvent event)
+ {
+ if (model == null)
+ return;
+ model.removeSelectedEntry();
+ }
+
+ public void addSampleHoliday(ActionEvent event)
+ {
+ if (model instanceof SimpleScheduleModel)
+ {
+ SimpleScheduleModel ssm = (SimpleScheduleModel) model;
+ Calendar calendar = GregorianCalendar.getInstance();
+ calendar.setTime(ssm.getSelectedDate());
+ calendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
+ ssm.setHoliday(calendar.getTime(), "Poeperkesdag");
+ ssm.refresh();
+ }
+ }
+
+ public void addSampleEntries(ActionEvent event)
+ {
+ if (model == null)
+ return;
+ Calendar calendar = GregorianCalendar.getInstance();
+ calendar.setTime(model.getSelectedDate());
+ calendar.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
+ calendar.set(Calendar.HOUR_OF_DAY, 14);
+ DefaultScheduleEntry entry1 = new DefaultScheduleEntry();
+ // every entry in a schedule must have a unique id
+ entry1.setId(RandomStringUtils.randomNumeric(32));
+ entry1.setStartTime(calendar.getTime());
+ calendar.add(Calendar.MINUTE, 45);
+ entry1.setEndTime(calendar.getTime());
+ entry1.setTitle("Test MyFaces schedule component");
+ entry1.setSubtitle("my office");
+ entry1
+ .setDescription("We need to get this thing out of the sandbox ASAP");
+ model.addEntry(entry1);
+ DefaultScheduleEntry entry2 = new DefaultScheduleEntry();
+ entry2.setId(RandomStringUtils.randomNumeric(32));
+ // entry2 overlaps entry1
+ calendar.add(Calendar.MINUTE, -20);
+ entry2.setStartTime(calendar.getTime());
+ calendar.add(Calendar.HOUR, 2);
+ entry2.setEndTime(calendar.getTime());
+ entry2.setTitle("Show schedule component to boss");
+ entry2.setSubtitle("my office");
+ entry2.setDescription("Convince him to get time to thoroughly test it");
+ model.addEntry(entry2);
+ DefaultScheduleEntry entry3 = new DefaultScheduleEntry();
+ entry3.setId(RandomStringUtils.randomNumeric(32));
+ calendar.add(Calendar.DATE, 1);
+ calendar.set(Calendar.HOUR_OF_DAY, 9);
+ calendar.set(Calendar.MINUTE, 0);
+ calendar.set(Calendar.SECOND, 0);
+ entry3.setStartTime(calendar.getTime());
+ calendar.set(Calendar.HOUR_OF_DAY, 17);
+ entry3.setEndTime(calendar.getTime());
+ entry3.setTitle("Thoroughly test schedule component");
+ model.addEntry(entry3);
+ DefaultScheduleEntry entry4 = new DefaultScheduleEntry();
+ entry4.setId(RandomStringUtils.randomNumeric(32));
+ calendar.add(Calendar.MONTH, -1);
+ calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+ calendar.set(Calendar.HOUR_OF_DAY, 11);
+ entry4.setStartTime(calendar.getTime());
+ calendar.set(Calendar.HOUR_OF_DAY, 14);
+ entry4.setEndTime(calendar.getTime());
+ entry4.setTitle("Long lunch");
+ model.addEntry(entry4);
+ DefaultScheduleEntry entry5 = new DefaultScheduleEntry();
+ entry5.setId(RandomStringUtils.randomNumeric(32));
+ calendar.add(Calendar.MONTH, 2);
+ calendar.set(Calendar.DAY_OF_MONTH, 1);
+ calendar.set(Calendar.HOUR_OF_DAY, 1);
+ entry5.setStartTime(calendar.getTime());
+ calendar.set(Calendar.HOUR_OF_DAY, 5);
+ entry5.setEndTime(calendar.getTime());
+ entry5.setTitle("Fishing trip");
+ model.addEntry(entry5);
+ //Let's add a zero length entry...
+ DefaultScheduleEntry entry6 = new DefaultScheduleEntry();
+ calendar.setTime(model.getSelectedDate());
+ calendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
+ calendar.set(Calendar.HOUR_OF_DAY, 16);
+ entry6.setId(RandomStringUtils.randomNumeric(32));
+ entry6.setStartTime(calendar.getTime());
+ entry6.setEndTime(calendar.getTime());
+ entry6.setTitle("Zero length entry");
+ entry6.setDescription("Is only rendered when the 'renderZeroLengthEntries' attribute is 'true'");
+ model.addEntry(entry6);
+ //And also an allday event
+ DefaultScheduleEntry entry7 = new DefaultScheduleEntry();
+ entry7.setId(RandomStringUtils.randomNumeric(32));
+ entry7.setTitle("All day event");
+ entry7.setSubtitle("This event renders as an all-day event");
+ entry7.setAllDay(true);
+ model.addEntry(entry7);
+ model.refresh();
+ }
+}