Author: gvanmatre
Date: Tue Dec 5 21:20:55 2006
New Revision: 482903
URL: http://svn.apache.org/viewvc?view=rev&rev=482903
Log:
Added an example of using Trinidad partial rendering coupled with the extend
rendering service's ability to attach scripts. Both are delivered in a partial
page update channel.
This example plays with the idea of using Clay to render html where the
component is disconnected from the component tree. This is really not a good
practice since the html is not backed by anything and could interfere with
decoding the view on a post back.
Added:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogBacking.java
(with props)
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogTreeModelAdapter.java
(with props)
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/catalog.html
(with props)
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_0.html (with
props)
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_10.html
(with props)
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_100.html
(with props)
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_101.html
(with props)
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_102.html
(with props)
Modified:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ProcessBacking.java
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/clay-tiles-config.xml
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/faces-config.xml
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/web.xml
Added:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogBacking.java
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogBacking.java?view=auto&rev=482903
==============================================================================
---
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogBacking.java
(added)
+++
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogBacking.java
Tue Dec 5 21:20:55 2006
@@ -0,0 +1,299 @@
+/*
+ * 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.trinidad.blank;
+
+import java.beans.IntrospectionException;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+import javax.faces.FactoryFinder;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.event.ActionEvent;
+import javax.faces.render.RenderKit;
+import javax.faces.render.RenderKitFactory;
+
+import org.apache.myfaces.trinidad.component.core.data.CoreTreeTable;
+import org.apache.myfaces.trinidad.model.TreeModel;
+import org.apache.myfaces.trinidad.render.ExtendedRenderKitService;
+import org.apache.myfaces.trinidad.util.Service;
+import org.apache.shale.clay.component.Clay;
+import org.apache.shale.tiger.managed.Bean;
+import org.apache.shale.tiger.managed.Scope;
+import org.apache.shale.tiger.view.Prerender;
+import org.apache.shale.tiger.view.View;
+import org.apache.shale.view.AbstractRequestBean;
+
[EMAIL PROTECTED](name = "catalog", scope = Scope.REQUEST)
[EMAIL PROTECTED]
+public class CatalogBacking extends AbstractRequestBean {
+
+ @Prerender
+ public void load() {
+
+ CatalogTreeModelAdapter adapter = (CatalogTreeModelAdapter)
getBean("catalogTreeAdapter");
+ if (adapter.getInstance() == null) {
+ List<CatalogElement> vtoc = getVtoc();
+ adapter.setInstance(vtoc);
+ adapter.setChildProperty("children");
+ setBean("catalogTreeAdapter", adapter);
+ }
+
+ }
+
+ private String getHtmlFragmentPath(int id) {
+
+ switch (id) {
+ case 0:
+ return "/pages/item_0.html";
+ case 10:
+ return "/pages/item_10.html";
+ case 100:
+ return "/pages/item_100.html";
+ case 101:
+ return "/pages/item_101.html";
+ case 102:
+ return "/pages/item_102.html";
+ }
+
+ return null;
+ }
+
+ private List<CatalogElement> getVtoc() {
+ List<CatalogElement> roots = new ArrayList<CatalogElement>();
+
+ CatalogElement folderToys = new CatalogElement(
+ CatalogElement.CatalogElementType.FOLDER, "Toys",
+ "What all kids want for x-mas", 0);
+ roots.add(folderToys);
+
+ CatalogElement slotCarTrack = new CatalogElement(
+ CatalogElement.CatalogElementType.DOCUMENT, "Slot Car Track",
+ "Super sweet track", 10);
+ folderToys.setChildren(new ArrayList<CatalogElement>());
+ folderToys.getChildren().add(slotCarTrack);
+
+ CatalogElement slotCarController = new CatalogElement(
+ CatalogElement.CatalogElementType.PARAGRAPH,
+ "Slot Car Controller Features",
+ "Race to escape with two three-speed precision controllers",
+ 100);
+ slotCarTrack.setChildren(new ArrayList<CatalogElement>());
+ slotCarTrack.getChildren().add(slotCarController);
+
+ CatalogElement slotCars = new CatalogElement(
+ CatalogElement.CatalogElementType.PARAGRAPH, "Slot Cars",
+ "Two high-performance slot cars from Hot Wheels", 101);
+ slotCarTrack.getChildren().add(slotCars);
+
+ CatalogElement slotTrack = new CatalogElement(
+ CatalogElement.CatalogElementType.PARAGRAPH, "Slot Track",
+ "Fifty miles of flex track", 102);
+ slotCarTrack.getChildren().add(slotTrack);
+
+ return roots;
+ }
+
+ public void select(ActionEvent event) throws Exception {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+
+ CoreTreeTable table = (CoreTreeTable) facesContext.getViewRoot()
+ .findComponent("treeTable");
+ loadHtmlFragment(table);
+ }
+
+ private StringBuffer getResource(String path) throws Exception {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+
+ StringBuffer buff = new StringBuffer();
+
+ URL url = facesContext.getExternalContext().getResource(path);
+
+ if (url != null) {
+ BufferedReader in = null;
+ try {
+ in = new BufferedReader(new
InputStreamReader(url.openStream()));
+ while (in.ready()) {
+ buff.append(in.readLine());
+ }
+ } finally {
+ in.close();
+ }
+
+ }
+
+ return buff;
+ }
+
+ private StringBuffer getClayResource(String jsfid) throws Exception {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+
+ ResponseWriter hijackedWriter = facesContext.getResponseWriter();
+
+ // builds a buffer to write the page to
+ StringWriter writer = new StringWriter();
+ // create a buffered response writer
+ ResponseWriter buffResponsewriter = facesContext.getRenderKit()
+ .createResponseWriter(writer, null, null);
+
+ try {
+ // push buffered writer to the faces context
+ facesContext.setResponseWriter(buffResponsewriter);
+
+ Clay clay = (Clay) facesContext.getApplication().createComponent(
+ "org.apache.shale.clay.component.Clay");
+ clay.setJsfid(jsfid);
+ clay.setId("clayHeadless");
+
+ clay.encodeBegin(facesContext);
+ clay.encodeChildren(facesContext);
+ clay.encodeEnd(facesContext);
+
+ buffResponsewriter.write(' ');
+ buffResponsewriter.flush();
+ buffResponsewriter.close();
+ writer.flush();
+ writer.close();
+
+ } finally {
+ if (hijackedWriter != null) {
+ facesContext.setResponseWriter(hijackedWriter);
+ }
+ }
+
+ return writer.getBuffer();
+ }
+
+ private void loadHtmlFragment(CoreTreeTable table) throws Exception {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+
+ CatalogElement e = (CatalogElement) getModel().getRowData();
+
+ String path = getHtmlFragmentPath(e.getId());
+
+ //StringBuffer buff = getResource(path);
+ StringBuffer buff = getClayResource(path);
+
+ ExtendedRenderKitService service = (ExtendedRenderKitService) Service
+ .getRenderKitService(facesContext,
+ ExtendedRenderKitService.class);
+ for (int i = 0; i < buff.length(); i++) {
+ if (buff.charAt(i) == '\''
+ || buff.charAt(i) == '"'
+ || buff.charAt(i) == '\\'
+ || buff.charAt(i) == '\n'
+ || buff.charAt(i) == '\r') {
+
+ buff.insert(i++, '\\');
+ }
+ }
+ buff.insert(0,
+ "window.document.getElementById('htmlFragment').innerHTML = '")
+ .append("';");
+ service.addScript(facesContext, buff.toString());
+ }
+
+ public static class CatalogElement implements Serializable {
+ private static final long serialVersionUID = 5303919296055899898L;
+
+ public CatalogElement() {
+ super();
+ }
+
+ public CatalogElement(CatalogElementType type, String name,
+ String description, int id) {
+ super();
+ this.type = type;
+ this.name = name;
+ this.description = description;
+ this.id = id;
+ }
+
+ public enum CatalogElementType {
+ UNKNOWN, FOLDER, DOCUMENT, PARAGRAPH
+ }
+
+ private CatalogElementType type = CatalogElementType.UNKNOWN;
+
+ private String name = null;
+
+ private String description = null;
+
+ private int id = 0;
+
+ private List<CatalogElement> children = null;
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public CatalogElementType getType() {
+ return type;
+ }
+
+ public void setType(CatalogElementType type) {
+ this.type = type;
+ }
+
+ public List<CatalogElement> getChildren() {
+ return children;
+ }
+
+ public void setChildren(List<CatalogElement> children) {
+ this.children = children;
+ }
+
+ }
+
+ public Date getCurrentTime() {
+ return Calendar.getInstance().getTime();
+ }
+
+ public TreeModel getModel() throws IntrospectionException {
+ CatalogTreeModelAdapter adapter = (CatalogTreeModelAdapter)
getBean("catalogTreeAdapter");
+ return adapter.getModel();
+ }
+
+}
Propchange:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogBacking.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogTreeModelAdapter.java
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogTreeModelAdapter.java?view=auto&rev=482903
==============================================================================
---
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogTreeModelAdapter.java
(added)
+++
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogTreeModelAdapter.java
Tue Dec 5 21:20:55 2006
@@ -0,0 +1,28 @@
+/*
+ * 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.trinidad.blank;
+
+import org.apache.shale.tiger.managed.Bean;
+import org.apache.shale.tiger.managed.Scope;
+
[EMAIL PROTECTED](name = "catalogTreeAdapter", scope = Scope.SESSION)
+public class CatalogTreeModelAdapter extends TreeModelAdapter {
+ private static final long serialVersionUID = 1442030855895307345L;
+
+
+
+}
Propchange:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/CatalogTreeModelAdapter.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ProcessBacking.java
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ProcessBacking.java?view=diff&rev=482903&r1=482902&r2=482903
==============================================================================
---
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ProcessBacking.java
(original)
+++
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ProcessBacking.java
Tue Dec 5 21:20:55 2006
@@ -39,7 +39,8 @@
list.add(new CommandBean("/index.jsf", "process.step1",
"home"));
list.add(new CommandBean("/page2.jsf", "process.step2",
"page2"));
list.add(new CommandBean("/page3.jsf", "process.step3",
"page3"));
- list.add(new CommandBean("/error.jsf", "process.step4",
"error"));
+ list.add(new CommandBean("/catalog.jsf", "process.step4",
"page4"));
+ list.add(new CommandBean("/error.jsf", "process.step5",
"error"));
model.setWrappedData(list);
}
Modified:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java?view=diff&rev=482903&r1=482902&r2=482903
==============================================================================
---
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java
(original)
+++
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java
Tue Dec 5 21:20:55 2006
@@ -58,7 +58,7 @@
}
private String showJsfid = null;
-
+
@Prerender public void load() {
if (showJsfid == null) {
@@ -76,6 +76,8 @@
adapter.setJsfid(getShowJsfid());
setBean("displayElementTree", adapter);
+
+
}
}
Modified:
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/clay-tiles-config.xml
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/clay-tiles-config.xml?view=diff&rev=482903&r1=482902&r2=482903
==============================================================================
---
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/clay-tiles-config.xml
(original)
+++
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/clay-tiles-config.xml
Tue Dec 5 21:20:55 2006
@@ -51,5 +51,11 @@
</symbols>
</component>
+ <component jsfid="/catalog.jsf" extends="basePage">
+ <symbols>
+ <set name="@bodycontent" value="/pages/catalog.html" />
+ <set name="@title" value="X-mas Catalog" />
+ </symbols>
+ </component>
</view>
Modified:
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/faces-config.xml
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/faces-config.xml?view=diff&rev=482903&r1=482902&r2=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/faces-config.xml
(original)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/faces-config.xml
Tue Dec 5 21:20:55 2006
@@ -68,6 +68,10 @@
</navigation-case>
<navigation-case>
<from-outcome>process.step4</from-outcome>
+ <to-view-id>/catalog.jsf</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>process.step5</from-outcome>
<to-view-id>/error.jsf</to-view-id>
</navigation-case>
Modified: shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/web.xml?view=diff&rev=482903&r1=482902&r2=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/web.xml (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/web.xml Tue Dec
5 21:20:55 2006
@@ -23,7 +23,7 @@
better choice than the standard JSF server-side state saving.
-->
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
- <param-value>client</param-value>
+ <param-value>server</param-value>
<!--param-value>server</param-value-->
</context-param>
Added: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/catalog.html
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/catalog.html?view=auto&rev=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/catalog.html (added)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/catalog.html Tue
Dec 5 21:20:55 2006
@@ -0,0 +1,79 @@
+<!-- ### clay:page charset="UTF-8" /### -->
+<!-- ### clay:remove ### -->
+<!--
+ 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.
+-->
+<!-- ### /clay:remove ### -->
+<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:trh="http://myfaces.apache.org/trinidad/html"
+ xmlns:tr="http://myfaces.apache.org/trinidad"
+ xmlns:c="http://shale.apache.org/clay">
+
+ <jsp:directive.page contentType="text/html;charset=utf-8"/>
+ <f:view>
+ <tr:form id="form">
+
+ <tr:outputLabel for="currentTime" value="Last Full Page Submit
Timestamp:" />
+ <tr:outputText id="currentTime" value="[EMAIL PROTECTED]">
+ <f:convertDateTime pattern="MM/dd/yyyy hh:mm:ss"/>
+ </tr:outputText>
+ <br/>
+ <br/>
+ <br/>
+ <table>
+ <tr>
+ <td valign="top">
+ <tr:panelPartialRoot id="ajax">
+
+ <tr:treeTable id="treeTable" var="foo" value="[EMAIL PROTECTED]"
summary="Catalog" >
+
+ <f:facet name="nodeStamp">
+ <tr:column>
+ <f:facet name="header">
+ <tr:outputText value="name"/>
+ </f:facet>
+ <tr:commandLink actionListener="[EMAIL PROTECTED]"
partialSubmit="true" text="#{foo.name}"/>
+ </tr:column>
+ </f:facet>
+
+ <f:facet name="pathStamp">
+ <tr:commandLink actionListener="[EMAIL PROTECTED]"
partialSubmit="true" text="#{foo.name}"/>
+ </f:facet>
+
+ <tr:column>
+ <f:facet name="header">
+ <h:outputText value="description"/>
+ </f:facet>
+ <tr:outputText value="#{foo.description}"/>
+ </tr:column>
+
+ </tr:treeTable>
+ </tr:panelPartialRoot>
+
+ </td>
+ <td valign="top">
+ <div id="htmlFragment">
+ </div>
+ </td>
+ </tr>
+ </table>
+
+
+ </tr:form>
+ </f:view>
+</jsp:root>
\ No newline at end of file
Propchange: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/catalog.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_0.html
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_0.html?view=auto&rev=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_0.html (added)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_0.html Tue Dec
5 21:20:55 2006
@@ -0,0 +1 @@
+Toys, Toys and more Toys
\ No newline at end of file
Propchange: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_0.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_10.html
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_10.html?view=auto&rev=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_10.html (added)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_10.html Tue
Dec 5 21:20:55 2006
@@ -0,0 +1,11 @@
+<img
src="http://ec2.images-amazon.com/images/P/B000BN62KI.01-A23NLORBGXOLEO._SS500_SCLZZZZZZZ_V59221664_.jpg"/>
+
+<p>
+<ul>
+<li>Modeled after the exciting dirt track scene from the Disney/Pixar movie
set</li>
+<li>Enjoy recreating all of the excitement by playing the parts of Lightning
McQueen or Doc Hudson</li>
+<li>Individual handheld controllers put you in control of the action</li>
+<li>Includes everything you need for fast-paced competition and
entertainment</li>
+<li>For ages 5 yrs. and up</li>
+</ul>
+</p>
\ No newline at end of file
Propchange: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_10.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_100.html
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_100.html?view=auto&rev=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_100.html
(added)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_100.html Tue
Dec 5 21:20:55 2006
@@ -0,0 +1,5 @@
+<img src="http://i8.ebayimg.com/05/i/000/7a/39/5b0d_2.JPG"/>
+
+<p>
+State of the art technology. Designed for comfort for hours of competition
racing.
+</p>
\ No newline at end of file
Propchange:
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_100.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_101.html
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_101.html?view=auto&rev=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_101.html
(added)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_101.html Tue
Dec 5 21:20:55 2006
@@ -0,0 +1,5 @@
+<img
src="http://www.moddedmustangs.com/wp-content/uploads/2006/06/2007-ford-mustang-gt-yellow.jpg"/>
+
+<p>
+Choose from 100 different makes and models. Each Slot Car is scaled to
precise specifications and instrumentation.
+</p>
\ No newline at end of file
Propchange:
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_101.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_102.html
URL:
http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_102.html?view=auto&rev=482903
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_102.html
(added)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_102.html Tue
Dec 5 21:20:55 2006
@@ -0,0 +1,3 @@
+<img src="http://gettingaroundgermany.home.att.net/g_imgs/autobahn3.jpg"/>
+
+<p>Practice on miles of endless raceway.</p>
\ No newline at end of file
Propchange:
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/item_102.html
------------------------------------------------------------------------------
svn:eol-style = native