diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-13 02:16:12 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-13 02:16:12 +0000 |
commit | 83355a7557cf91c455a65e0ce79ea8dd4d880052 (patch) | |
tree | 25fb3c02f2eca9990323a3b9c03bc6028f73fb38 /sandbox/lresende/sca-1.x/samples/store-jsf | |
parent | 3e33ce505cf18f5f603f29cf0be4b4fd33053d3d (diff) |
Refactoring sandbox structure to accomodate 1.x versus 2.x stuff
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@898623 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sandbox/lresende/sca-1.x/samples/store-jsf')
8 files changed, 322 insertions, 0 deletions
diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/README b/sandbox/lresende/sca-1.x/samples/store-jsf/README new file mode 100644 index 0000000000..79ddb03568 --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/README @@ -0,0 +1,2 @@ +To access the deployed application : +http://localhost.localdomain:8080/sample-store-jsf/faces/catalog.jsp
\ No newline at end of file diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/pom.xml b/sandbox/lresende/sca-1.x/samples/store-jsf/pom.xml new file mode 100644 index 0000000000..fe68a0e4b5 --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/pom.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-sca</artifactId> + <version>1.7-SNAPSHOT</version> + </parent> + <artifactId>sample-store-jsf</artifactId> + <packaging>war</packaging> + <name>Apache Tuscany SCA Getting Started Online Store Sample using JSF</name> + + <dependencies> + + <dependency> + <groupId>org.apache.myfaces.core</groupId> + <artifactId>myfaces-impl</artifactId> + <version>1.1.5</version> + </dependency> + + <dependency> + <groupId>org.apache.myfaces.core</groupId> + <artifactId>myfaces-api</artifactId> + <version>1.1.5</version> + </dependency> + + <!-- dependency> + <groupId>net.java.dev.ajax4jsf</groupId> + <artifactId>ajax4jsf</artifactId> + <version>1.0.6</version> + </dependency --> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.2</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + </build> + +</project> diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/java/beans/Catalog.java b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/java/beans/Catalog.java new file mode 100644 index 0000000000..01e4a0d481 --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/java/beans/Catalog.java @@ -0,0 +1,56 @@ +/* + * 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 beans; + +import java.util.ArrayList; +import java.util.List; + +public class Catalog { + Product[] products; + + public Catalog() { + products = new Product[3]; + products[0] = new Product("Apple", 2.99); + products[1] = new Product("Orange", 3.55); + products[2] = new Product("Pear", 1.55); + } + + public Product[] getProducts() { + return products; + } + + public void setProducts(Product[] products) { + this.products = products; + } + + public List getProductsInCart() { + List productsInCart = new ArrayList(); + double total = 0.0; + for (int i = 0; i < products.length; i++) { + Product product = products[i]; + if (product.isInCart()) { + productsInCart.add(product); + total += product.getPrice(); + } + } + productsInCart.add(new Product("Total", total)); + return productsInCart; + } + +} diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/java/beans/Product.java b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/java/beans/Product.java new file mode 100644 index 0000000000..9f3df2f95c --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/java/beans/Product.java @@ -0,0 +1,56 @@ +/* + * 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 beans; + +public class Product { + String name; + double price; + boolean inCart; + + public Product(String name, double price) { + this.name = name; + this.price = price; + this.inCart = false; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public boolean isInCart() { + return inCart; + } + + public void setInCart(boolean inCart) { + this.inCart = inCart; + } + +} diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/faces-config.xml b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/faces-config.xml new file mode 100644 index 0000000000..1dd376a58f --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/faces-config.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<!DOCTYPE faces-config PUBLIC + "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" + "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> + +<faces-config> + <managed-bean> + <managed-bean-name>catalog</managed-bean-name> + <managed-bean-class>beans.Catalog</managed-bean-class> + <managed-bean-scope>session</managed-bean-scope> + </managed-bean> + +</faces-config> diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/lib/ajax4jsf-1.1.1.jar b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/lib/ajax4jsf-1.1.1.jar Binary files differnew file mode 100644 index 0000000000..347b0d2066 --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/lib/ajax4jsf-1.1.1.jar diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/web.xml b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..a39a51eefc --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app id="WebApp_ID"> + <display-name>SkeletonProject</display-name> + <filter> + <filter-name>ajax4jsf</filter-name> + <display-name>Ajax4jsf Filter</display-name> + <filter-class>org.ajax4jsf.Filter</filter-class> + </filter> + <filter-mapping> + <filter-name>ajax4jsf</filter-name> + <servlet-name>Faces Servlet</servlet-name> + </filter-mapping> + <servlet> + <servlet-name>Faces Servlet</servlet-name> + <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> + <load-on-startup>1</load-on-startup> + </servlet> + <servlet-mapping> + <servlet-name>Faces Servlet</servlet-name> + <url-pattern>/faces/*</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>Faces Servlet</servlet-name> + <url-pattern>*.faces</url-pattern> + </servlet-mapping> + + <welcome-file-list> + <welcome-file>catalog.jsp</welcome-file> + </welcome-file-list> +</web-app> diff --git a/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/catalog.jsp b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/catalog.jsp new file mode 100644 index 0000000000..d456bedcc0 --- /dev/null +++ b/sandbox/lresende/sca-1.x/samples/store-jsf/src/main/webapp/catalog.jsp @@ -0,0 +1,82 @@ +<%-- + * 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. +--%> +<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%><%@taglib
+ uri="http://java.sun.com/jsf/core" prefix="f"%><%@taglib
+ uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%><%@ page language="java"
+ contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Basic JSF/Ajax sample</title>
+</head>
+<body>
+ +<f:view> + <h:form>
+ <h:outputText value="Store" style="font-size: 28px"/> + <h:outputText value="Catalog" style="font-size: 24px"/>
+ <h:dataTable border="0" value="#{catalog.products}" var="item">
+ <h:column id="column1">
+ <h:outputText value="#{item.name}"></h:outputText>
+ <f:facet name="header">
+ <h:outputText value="Product"></h:outputText>
+ </f:facet>
+ </h:column>
+ <h:column id="column2">
+ <h:outputText value="#{item.price}">
+ <f:convertNumber type="currency" currencySymbol="$" />
+ </h:outputText>
+ <f:facet name="header">
+ <h:outputText value="Price"></h:outputText>
+ </f:facet>
+ </h:column>
+ <h:column id="column3">
+ <f:facet name="header">
+ <h:outputText value=""></h:outputText>
+ </f:facet>
+ <h:selectBooleanCheckbox value="#{item.inCart}"></h:selectBooleanCheckbox>
+ </h:column>
+ </h:dataTable>
+ <a4j:commandButton value="Add to Cart" reRender="cart"></a4j:commandButton>
+ </h:form> + + <br> + + <h:outputText value="Your Cart" style="font-size: 24px"/>
+ <h:dataTable border="1" value="#{catalog.productsInCart}" var="item" id="cart">
+ <h:column id="column1">
+ <h:outputText value="#{item.name}"></h:outputText>
+ <f:facet name="header">
+ <h:outputText value=""></h:outputText>
+ </f:facet>
+ </h:column>
+ <h:column id="column2">
+ <h:outputText value="#{item.price}">
+ <f:convertNumber type="currency" currencySymbol="$" />
+ </h:outputText>
+ <f:facet name="header">
+ <h:outputText value=""></h:outputText>
+ </f:facet>
+ </h:column>
+ </h:dataTable>
+
+</f:view>
+</body>
+</html>
\ No newline at end of file |