You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by im...@apache.org on 2007/02/26 21:40:19 UTC
svn commit: r511994 - in /myfaces/fusion/trunk:
core/src/main/java/org/apache/myfaces/fusion/conversation/ examples/
examples/src/main/java/org/ examples/src/main/java/org/apache/
examples/src/main/java/org/apache/myfaces/ examples/src/main/java/org/ap...
Author: imario
Date: Mon Feb 26 12:40:17 2007
New Revision: 511994
URL: http://svn.apache.org/viewvc?view=rev&rev=511994
Log:
added ConversationUtils.ensureConversation (which will be replaced by annotations in the future)
finished setup of examples framework, now works with "mvn jetty:run", though, the examples is by far - the most - ugly looking one, just to test the whole thing, more will follow.
Added:
myfaces/fusion/trunk/examples/src/main/java/org/
myfaces/fusion/trunk/examples/src/main/java/org/apache/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/Checkout.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/ConfiguratorData.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/Initialization.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/ComponentDAO.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/OrderHeadDAO.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/PieceDAO.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Component.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderHead.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderItem.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Piece.java
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/tests/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/filter/
myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/filter/RequestEncodingFilter.java
myfaces/fusion/trunk/examples/src/main/resources/META-INF/
myfaces/fusion/trunk/examples/src/main/resources/META-INF/persistence.xml
myfaces/fusion/trunk/examples/src/main/resources/log4j.xml
myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp (contents, props changed)
- copied, changed from r511943, myfaces/fusion/trunk/examples/src/main/webapp/configurator/Configurator.jsp
Removed:
myfaces/fusion/trunk/examples/src/main/webapp/configurator/Checkout.jsp
Modified:
myfaces/fusion/trunk/core/src/main/java/org/apache/myfaces/fusion/conversation/ConversationUtils.java
myfaces/fusion/trunk/examples/pom.xml
myfaces/fusion/trunk/examples/src/main/webapp/WEB-INF/applicationContext.xml
myfaces/fusion/trunk/examples/src/main/webapp/default.css
Modified: myfaces/fusion/trunk/core/src/main/java/org/apache/myfaces/fusion/conversation/ConversationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/core/src/main/java/org/apache/myfaces/fusion/conversation/ConversationUtils.java?view=diff&rev=511994&r1=511993&r2=511994
==============================================================================
--- myfaces/fusion/trunk/core/src/main/java/org/apache/myfaces/fusion/conversation/ConversationUtils.java (original)
+++ myfaces/fusion/trunk/core/src/main/java/org/apache/myfaces/fusion/conversation/ConversationUtils.java Mon Feb 26 12:40:17 2007
@@ -23,6 +23,9 @@
package org.apache.myfaces.fusion.conversation;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+
/**
* Some helpers usable for public use
*/
@@ -45,5 +48,55 @@
Conversation newConversation = conversation.invalidateAndRestart();
return newConversation.getAttribute(name);
+ }
+
+ /**
+ * <p>if no conversation with name <code>conversationName</code> is active a redirect to
+ * <code>redirectViewId</code> will be issued.</p>
+ * <p>If <code>redirectViewId</code> starts with an slash ('/') the context path will be added</p>
+ */
+ public static void ensureConversationRedirect(String conversationName, String redirectViewId)
+ {
+ if (!ConversationManager.getInstance().hasConversation(conversationName))
+ {
+ try
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+
+ StringBuffer redir = new StringBuffer();
+ if (redirectViewId.startsWith("/"))
+ {
+ redir.append(
+ context.getExternalContext().getRequestContextPath());
+ }
+ redir.append(redirectViewId);
+
+ context.getExternalContext().redirect(redir.toString());
+ context.responseComplete();
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * <p>if no conversation with name <code>conversationName</code> is active a navigation with
+ * the given action will be issued</p>
+ * <p>
+ * Notice: optionally you can use the conversationName as "fromAction" in your faces-config.xml
+ * </p>
+ */
+ public static void ensureConversation(String conversationName, String action)
+ {
+ if (!ConversationManager.getInstance().hasConversation(conversationName))
+ {
+ FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(
+ FacesContext.getCurrentInstance(),
+ conversationName,
+ action
+ );
+ }
}
}
Modified: myfaces/fusion/trunk/examples/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/pom.xml?view=diff&rev=511994&r1=511993&r2=511994
==============================================================================
--- myfaces/fusion/trunk/examples/pom.xml (original)
+++ myfaces/fusion/trunk/examples/pom.xml Mon Feb 26 12:40:17 2007
@@ -20,8 +20,38 @@
<url>http://svn.apache.org/viewcvs.cgi/myfaces/fusion/trunk/examples</url>
</scm>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <url>http://www.ibiblio.org/maven2</url>
+ </repository>
+ <repository>
+ <id>java-net</id>
+ <url>https://maven-repository.dev.java.net/nonav/repository</url>
+ <layout>legacy</layout>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>mortbay-repo</id>
+ <name>mortbay-repo</name>
+ <url>http://www.mortbay.org/maven2/snapshot</url>
+ </pluginRepository>
+ </pluginRepositories>
+
<dependencies>
<dependency>
+ <groupId>org.apache.myfaces.fusion</groupId>
+ <artifactId>myfaces-fusion-core</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.myfaces.fusion</groupId>
+ <artifactId>myfaces-fusion-core15</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>1.1.6-SNAPSHOT</version>
@@ -36,62 +66,89 @@
<artifactId>tomahawk</artifactId>
<version>1.1.5-SNAPSHOT</version>
</dependency>
- </dependencies>
-
- <profiles>
- <!-- Profile to run jetty, so the tomcat jars are included in the bundle. They are not included by default -->
- <profile>
- <id>jettyConfig</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <configuration>
- <scanIntervalSeconds>10</scanIntervalSeconds>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jsp-api</artifactId>
- <version>2.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- <version>5.5.9</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- <version>5.5.9</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler-jdt</artifactId>
- <version>5.5.9</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <pluginRepositories>
- <!-- Repository to get the jetty plugin -->
- <pluginRepository>
- <id>mortbay-repo</id>
- <name>mortbay-repo</name>
- <url>http://www.mortbay.org/maven2/snapshot</url>
- </pluginRepository>
- </pluginRepositories>
+ <dependency>
+ <groupId>org.apache.myfaces.tomahawk</groupId>
+ <artifactId>tomahawk-sandbox</artifactId>
+ <version>1.1.5-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ <version>2.0.2</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.3</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ <version>2.1_3</version>
+ </dependency>
+<!--
+ <dependency>
+ <groupId>toplink.essentials</groupId>
+ <artifactId>toplink-essentials</artifactId>
+ <version>2.0-36</version>
+ <scope>provided</scope>
+ </dependency>
+-->
+ <dependency>
+ <groupId>javax.persistence</groupId>
+ <artifactId>toplink-essentials</artifactId>
+ <version>1.0</version>
+ </dependency>
- </profile>
- </profiles>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.2.2.0</version>
+ </dependency>
+
+ <!-- jetty -->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jsp-api</artifactId>
+ <version>2.0</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>tomcat</groupId>
+ <artifactId>jasper-compiler</artifactId>
+ <version>5.5.9</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>tomcat</groupId>
+ <artifactId>jasper-runtime</artifactId>
+ <version>5.5.9</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>tomcat</groupId>
+ <artifactId>jasper-compiler-jdt</artifactId>
+ <version>5.5.9</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>el-impl</groupId>
+ <artifactId>el-impl</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
<build>
<finalName>${artifactId}</finalName>
@@ -104,6 +161,14 @@
</resources>
<plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
@@ -115,24 +180,19 @@
</execution>
</executions>
</plugin>
+
<plugin>
- <groupId>org.codehaus.cargo</groupId>
- <artifactId>cargo-maven2-plugin</artifactId>
- <version>0.2</version>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.1</version>
<configuration>
- <container>
- <containerId>tomcat5x</containerId>
- <home>${cargo.tomcat5x.home}</home>
- <log>${project.build.directory}/tomcat5x.log</log>
- <output>${project.build.directory}/tomcat5x.out</output>
- </container>
- <configuration>
- <home>${project.build.directory}/tomcat5x</home>
- <properties>
- <cargo.jvmargs>-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n
- </cargo.jvmargs>
- </properties>
- </configuration>
+ <connectors>
+ <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+ <port>9090</port>
+ <maxIdleTime>60000</maxIdleTime>
+ </connector>
+ </connectors>
+ <scanIntervalSeconds>10</scanIntervalSeconds>
</configuration>
</plugin>
</plugins>
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/Checkout.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/Checkout.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/Checkout.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/Checkout.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,29 @@
+/*
+ * 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.configurator.backings;
+
+import org.apache.myfaces.fusion.conversation.ConversationUtils;
+
+public class Checkout
+{
+ public void initView()
+ {
+ ConversationUtils.ensureConversationRedirect("configuratorData", "/configurator/ComponentSelection.faces");
+ }
+}
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/ConfiguratorData.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/ConfiguratorData.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/ConfiguratorData.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/backings/ConfiguratorData.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,185 @@
+package org.apache.myfaces.examples.configurator.backings;
+
+import org.apache.myfaces.examples.configurator.model.dao.ComponentDAO;
+import org.apache.myfaces.examples.configurator.model.dao.OrderHeadDAO;
+import org.apache.myfaces.examples.configurator.model.dao.PieceDAO;
+import org.apache.myfaces.examples.configurator.model.po.Component;
+import org.apache.myfaces.examples.configurator.model.po.OrderHead;
+import org.apache.myfaces.examples.configurator.model.po.OrderItem;
+import org.apache.myfaces.examples.configurator.model.po.Piece;
+import org.apache.myfaces.examples.configurator.model.Initialization;
+import org.apache.myfaces.fusion.conversation.Conversation;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.faces.model.SelectItem;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ConfiguratorData
+{
+ private Long selectedComponent;
+ private Long selectedPiece;
+
+ // echte conversation scoped daten
+ private ComponentDAO componentDao;
+ private PieceDAO pieceDao;
+ private OrderHeadDAO orderHeadDao;
+ private Initialization initialization;
+
+ private OrderHead orderHead;
+
+ public Long getSelectedComponent()
+ {
+ return selectedComponent;
+ }
+
+ public void setSelectedComponent(Long selectedComponent)
+ {
+ this.selectedComponent = selectedComponent;
+ }
+
+ public Long getSelectedPiece()
+ {
+ return selectedPiece;
+ }
+
+ public void setSelectedPiece(Long selectedPiece)
+ {
+ this.selectedPiece = selectedPiece;
+ }
+
+ public ComponentDAO getComponentDao()
+ {
+ return componentDao;
+ }
+
+ public void setComponentDao(ComponentDAO componentDao)
+ {
+ this.componentDao = componentDao;
+ }
+
+ public Initialization getInitialization()
+ {
+ return initialization;
+ }
+
+ public void setInitialization(Initialization initialization)
+ {
+ this.initialization = initialization;
+ }
+
+ public PieceDAO getPieceDao()
+ {
+ return pieceDao;
+ }
+
+ public void setPieceDao(PieceDAO pieceDao)
+ {
+ this.pieceDao = pieceDao;
+ }
+
+ public OrderHeadDAO getOrderHeadDao()
+ {
+ return orderHeadDao;
+ }
+
+ public void setOrderHeadDao(OrderHeadDAO orderHeadDao)
+ {
+ this.orderHeadDao = orderHeadDao;
+ }
+
+ @Transactional(readOnly = true)
+ public List<SelectItem> getComponents()
+ {
+ List<SelectItem> ret = new ArrayList<SelectItem>();
+ for (Component component : componentDao.getComponents())
+ {
+ ret.add(new SelectItem(component.getId(), component.getDescription()));
+ }
+ return ret;
+ }
+
+ @Transactional(readOnly = true)
+ public List<Piece> getPieces()
+ {
+ // XXX: Workaround
+ Long cmp = getSelectedComponent();
+ if (cmp == null && getComponents().size() > 0)
+ {
+ cmp = (Long) getComponents().get(0).getValue();
+ }
+ if (cmp == null)
+ {
+ return null;
+ }
+
+ Component component = componentDao.getByKey(cmp);
+ return new ArrayList<Piece>(component.getPieces());
+ }
+
+ public OrderHead getOrder()
+ {
+ return orderHead;
+ }
+
+ @Transactional(readOnly = true)
+ public List<OrderItem> getOrderItems()
+ {
+ if (orderHead == null || orderHead.getOrderItems() == null)
+ {
+ return null;
+ }
+
+ return new ArrayList<OrderItem>(orderHead.getOrderItems());
+ }
+
+ @Transactional(readOnly = true)
+ public String orderItemAction()
+ {
+ if (orderHead == null)
+ {
+ orderHead = new OrderHead();
+ }
+
+ Piece piece = pieceDao.getByKey(getSelectedPiece());
+
+ OrderItem orderItem = new OrderItem();
+ orderItem.setPiece(piece);
+ orderItem.setAmount(1);
+
+ orderHead.addOrderItem(orderItem);
+
+ return null;
+ }
+
+ @Transactional()
+ public String buyAction()
+ {
+ orderHeadDao.save(orderHead);
+
+ Conversation.getCurrentInstance()
+ .invalidate();
+
+ return "success";
+ }
+
+ @Transactional()
+ public String setupDatabaseAction()
+ {
+ getInitialization().populateDatabase();
+ return null;
+ }
+
+ public String cancelAction()
+ {
+ Conversation.getCurrentInstance()
+ .invalidate();
+
+ return "success";
+ }
+
+ public String checkoutAction()
+ {
+ return "success";
+ }
+}
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/Initialization.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/Initialization.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/Initialization.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/Initialization.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,55 @@
+package org.apache.myfaces.examples.configurator.model;
+
+import org.apache.myfaces.examples.configurator.model.po.Component;
+import org.apache.myfaces.examples.configurator.model.po.Piece;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+
+public class Initialization
+{
+ @PersistenceContext
+ private EntityManager entityManager;
+
+ public void populateDatabase()
+ {
+ // check if we have to initialize
+ Query q = entityManager.createQuery("select component from Component component order by component.description");
+ q.setMaxResults(1);
+ if (q.getResultList().size() > 0)
+ {
+ // nope, return
+ return;
+ }
+
+
+ Component cmpCase = new Component();
+ cmpCase.setDescription("case");
+ cmpCase.addPiece(createPiece("silent-lq", "low quality, not really silent, midi tower", 5));
+ cmpCase.addPiece(createPiece("silent-hq", "high quality, super silent, tower", 50));
+ cmpCase.addPiece(createPiece("desktop", "desktop, slim-sized, gray", 25));
+ cmpCase.addPiece(createPiece("midi", "midi tower", 30));
+ cmpCase.addPiece(createPiece("tower", "tower, plastic cover", 50));
+ cmpCase.addPiece(createPiece("premium", "black tiger", 60));
+ cmpCase.addPiece(createPiece("modder", "transparent door", 120));
+ entityManager.persist(cmpCase);
+
+ Component cmpMonitor = new Component();
+ cmpMonitor.setDescription("monitor");
+ cmpMonitor.addPiece(createPiece("lcd8", "high end pos 8\" lcd", 700));
+ cmpMonitor.addPiece(createPiece("monitor", "old crt", 100));
+ cmpMonitor.addPiece(createPiece("lcd19", "19\" lcd", 560));
+ cmpMonitor.addPiece(createPiece("lcdWide", "21\" 16:9 video lcd", 1299));
+ entityManager.persist(cmpMonitor);
+ }
+
+ private Piece createPiece(String name, String description, double price)
+ {
+ Piece piece = new Piece();
+ piece.setNumber(name);
+ piece.setDescription(description);
+ piece.setPrice(price);
+ return piece;
+ }
+}
\ No newline at end of file
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/ComponentDAO.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/ComponentDAO.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/ComponentDAO.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/ComponentDAO.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,35 @@
+package org.apache.myfaces.examples.configurator.model.dao;
+
+import org.apache.myfaces.examples.configurator.model.po.Component;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import java.util.List;
+
+public class ComponentDAO
+{
+ @PersistenceContext
+ private EntityManager entityManager;
+
+ public void setEntityManager(EntityManager entityManager)
+ {
+ this.entityManager = entityManager;
+ }
+
+ public EntityManager getEntityManager()
+ {
+ return entityManager;
+ }
+
+ public List<Component> getComponents()
+ {
+ Query query = entityManager.createQuery("select component from Component component order by component.description");
+ return (List<Component>) query.getResultList();
+ }
+
+ public Component getByKey(Long selectedComponent)
+ {
+ return entityManager.find(Component.class, selectedComponent);
+ }
+}
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/OrderHeadDAO.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/OrderHeadDAO.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/OrderHeadDAO.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/OrderHeadDAO.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,17 @@
+package org.apache.myfaces.examples.configurator.model.dao;
+
+import org.apache.myfaces.examples.configurator.model.po.OrderHead;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+public class OrderHeadDAO
+{
+ @PersistenceContext
+ private EntityManager entityManager;
+
+ public void save(OrderHead orderHead)
+ {
+ entityManager.persist(orderHead);
+ }
+}
\ No newline at end of file
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/PieceDAO.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/PieceDAO.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/PieceDAO.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/dao/PieceDAO.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,17 @@
+package org.apache.myfaces.examples.configurator.model.dao;
+
+import org.apache.myfaces.examples.configurator.model.po.Piece;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+public class PieceDAO
+{
+ @PersistenceContext
+ private EntityManager entityManager;
+
+ public Piece getByKey(Long pieceId)
+ {
+ return entityManager.find(Piece.class, pieceId);
+ }
+}
\ No newline at end of file
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Component.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Component.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Component.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Component.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,76 @@
+package org.apache.myfaces.examples.configurator.model.po;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Version;
+import javax.persistence.OneToMany;
+import javax.persistence.FetchType;
+import javax.persistence.CascadeType;
+import javax.persistence.OrderBy;
+import java.util.Set;
+import java.util.HashSet;
+
+@Entity
+public class Component
+{
+ @Id
+ @GeneratedValue(strategy= GenerationType.TABLE)
+ private Long id;
+
+ private String description;
+
+ @OneToMany(fetch = FetchType.LAZY, cascade=CascadeType.ALL, mappedBy = "component")
+ @OrderBy(value="description")
+ private Set<Piece> pieces;
+
+ @Version
+ private Long version;
+
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ public Set<Piece> getPieces()
+ {
+ return pieces;
+ }
+
+ public void addPiece(Piece piece)
+ {
+ if (this.pieces == null)
+ {
+ this.pieces = new HashSet<Piece>();
+ }
+
+ piece.setComponent(this);
+ this.pieces.add(piece);
+ }
+
+ public Long getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion(Long version)
+ {
+ this.version = version;
+ }
+}
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderHead.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderHead.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderHead.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderHead.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,69 @@
+package org.apache.myfaces.examples.configurator.model.po;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Version;
+import java.util.HashSet;
+import java.util.Set;
+
+@Entity
+public class OrderHead
+{
+ private Long id;
+
+ private Set<OrderItem> orderItems;
+
+ private Long version;
+
+ @Id
+ @GeneratedValue(strategy= GenerationType.TABLE)
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ @OneToMany(fetch = FetchType.LAZY, cascade= CascadeType.ALL, mappedBy="orderHead")
+ public Set<OrderItem> getOrderItems()
+ {
+ return orderItems;
+ }
+
+ public void setOrderItems(Set<OrderItem> orderItems)
+ {
+ this.orderItems = orderItems;
+ }
+
+ public void addOrderItem(OrderItem orderItem)
+ {
+ if (this.orderItems == null)
+ {
+ this.orderItems = new HashSet<OrderItem>();
+ }
+
+ orderItem.setOrderHead(this);
+ orderItem.setPosnr(orderItems.size()+10);
+
+ this.orderItems.add(orderItem);
+ }
+
+ @Version
+ public Long getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion(Long version)
+ {
+ this.version = version;
+ }
+}
\ No newline at end of file
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderItem.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderItem.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderItem.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/OrderItem.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,95 @@
+package org.apache.myfaces.examples.configurator.model.po;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.Version;
+
+@Entity
+public class OrderItem
+{
+ private Long id;
+
+ private OrderHead orderHead;
+
+ private int posnr;
+
+ private int amount;
+
+ private Piece piece;
+
+ private Long version;
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.TABLE)
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ @Version
+ public Long getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion(Long version)
+ {
+ this.version = version;
+ }
+
+ @ManyToOne()
+ public OrderHead getOrderHead()
+ {
+ return orderHead;
+ }
+
+ public void setOrderHead(OrderHead orderHead)
+ {
+ this.orderHead = orderHead;
+ }
+
+ @Column(nullable = false)
+ public int getPosnr()
+ {
+ return posnr;
+ }
+
+ public void setPosnr(int posnr)
+ {
+ this.posnr = posnr;
+ }
+
+ @Column(nullable = false)
+ public int getAmount()
+ {
+ return amount;
+ }
+
+ public void setAmount(int amount)
+ {
+ this.amount = amount;
+ }
+
+ @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, optional=false)
+ public Piece getPiece()
+ {
+ return piece;
+ }
+
+ public void setPiece(Piece piece)
+ {
+ this.piece = piece;
+ }
+}
\ No newline at end of file
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Piece.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Piece.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Piece.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/examples/configurator/model/po/Piece.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,92 @@
+package org.apache.myfaces.examples.configurator.model.po;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.Version;
+import javax.persistence.Column;
+
+@Entity
+public class Piece
+{
+ @Id
+ @GeneratedValue(strategy = GenerationType.TABLE)
+ private Long id;
+
+ @ManyToOne
+ private Component component;
+
+ // business key
+ @Column(nullable = false)
+ private String number;
+
+ @Column(nullable = false)
+ private String description;
+
+ private double price;
+
+ @Version
+ private Long version;
+
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Component getComponent()
+ {
+ return component;
+ }
+
+ public void setComponent(Component component)
+ {
+ this.component = component;
+ }
+
+ public String getNumber()
+ {
+ return number;
+ }
+
+ public void setNumber(String number)
+ {
+ this.number = number;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ public double getPrice()
+ {
+ return price;
+ }
+
+ public void setPrice(double price)
+ {
+ this.price = price;
+ }
+
+ public Long getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion(Long version)
+ {
+ this.version = version;
+ }
+}
\ No newline at end of file
Added: myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/filter/RequestEncodingFilter.java
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/filter/RequestEncodingFilter.java?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/filter/RequestEncodingFilter.java (added)
+++ myfaces/fusion/trunk/examples/src/main/java/org/apache/myfaces/filter/RequestEncodingFilter.java Mon Feb 26 12:40:17 2007
@@ -0,0 +1,27 @@
+package org.apache.myfaces.filter;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.FilterChain;
+import java.io.IOException;
+
+public class RequestEncodingFilter implements Filter
+{
+ public void init(FilterConfig filterConfig) throws ServletException
+ {
+ }
+
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException
+ {
+ servletRequest.setCharacterEncoding("UTF-8");
+
+ filterChain.doFilter(servletRequest, servletResponse);
+ }
+
+ public void destroy()
+ {
+ }
+}
Added: myfaces/fusion/trunk/examples/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/resources/META-INF/persistence.xml?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/resources/META-INF/persistence.xml (added)
+++ myfaces/fusion/trunk/examples/src/main/resources/META-INF/persistence.xml Mon Feb 26 12:40:17 2007
@@ -0,0 +1,32 @@
+<?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.
+ -->
+
+<persistence version="1.0"
+ xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
+
+ <persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
+ <class>org.apache.myfaces.examples.configurator.model.po.Component</class>
+ <class>org.apache.myfaces.examples.configurator.model.po.OrderHead</class>
+ <class>org.apache.myfaces.examples.configurator.model.po.OrderItem</class>
+ <class>org.apache.myfaces.examples.configurator.model.po.Piece</class>
+ </persistence-unit>
+</persistence>
\ No newline at end of file
Added: myfaces/fusion/trunk/examples/src/main/resources/log4j.xml
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/resources/log4j.xml?view=auto&rev=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/resources/log4j.xml (added)
+++ myfaces/fusion/trunk/examples/src/main/resources/log4j.xml Mon Feb 26 12:40:17 2007
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2007, Your Corporation. All Rights Reserved.
+ -->
+
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+ <appender name="console" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.Err"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <!--
+ d date
+ p prioirty
+ X MDC Value
+ t threadname
+ c category-name
+ m message
+ -->
+ <param name="ConversionPattern" value="%d %-5p [%t] %c{2} - %m\n"/>
+ </layout>
+ </appender>
+
+ <root>
+ <priority value="debug"/>
+
+ <appender-ref ref="console"/>
+ </root>
+
+</log4j:configuration>
\ No newline at end of file
Modified: myfaces/fusion/trunk/examples/src/main/webapp/WEB-INF/applicationContext.xml
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/webapp/WEB-INF/applicationContext.xml?view=diff&rev=511994&r1=511993&r2=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/webapp/WEB-INF/applicationContext.xml (original)
+++ myfaces/fusion/trunk/examples/src/main/webapp/WEB-INF/applicationContext.xml Mon Feb 26 12:40:17 2007
@@ -35,7 +35,7 @@
<bean class="org.apache.myfaces.fusion.conversation.spring.SpringConversationScope">
<property name="advices">
<list>
- <ref bean="persistentContextConversationInterceptor" />
+ <ref bean="persistentContextConversationInterceptor"/>
</list>
</property>
</bean>
@@ -44,85 +44,105 @@
</property>
</bean>
- <bean id="persistentContextConversationInterceptor" class="org.apache.myfaces.fusion.conversation.spring.PersistenceContextConversationInterceptor">
- <property name="persistenceContextFactory" ref="hibernatePersistentContextFactory" />
+ <bean id="persistentContextConversationInterceptor"
+ class="org.apache.myfaces.fusion.conversation.spring.PersistenceContextConversationInterceptor">
+ <property name="persistenceContextFactory" ref="persistentContextFactory"/>
</bean>
- <bean id="hibernatePersistentContextFactory" class="org.apache.myfaces.fusion.conversation.spring.HibernatePersistenceContextFactory">
- <property name="sessionFactory" ref="sessionFactory" />
+ <bean id="persistentContextFactory"
+ class="org.apache.myfaces.fusion.conversation.persistenceContexts.JpaPersistenceContextFactory">
+ <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<!-- persistence -->
+ <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
+
<tx:annotation-driven />
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory" ref="sessionFactory" />
+ <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
+ <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
- <property name="url" value="jdbc:hsqldb:file:/home/im/tmp/myfacesFusion/db;shutdown=true"/>
- <property name="username" value="sa"/>
- <property name="password" value=""/>
- </bean>
-
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
- <property name="dataSource" ref="dataSource"/>
- <property name="annotatedClasses">
- <list>
- <value>org.apache.myfaces.examples.configurator.model.po.Component</value>
- <value>org.apache.myfaces.examples.configurator.model.po.Piece</value>
- <value>org.apache.myfaces.examples.configurator.model.po.OrderHead</value>
- <value>org.apache.myfaces.examples.configurator.model.po.OrderItem</value>
- </list>
- </property>
- <property name="hibernateProperties">
+ <bean id="entityManagerFactory"
+ class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
+ <property name="jpaProperties">
<props>
- <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
- <prop key="hibernate.show_sql">true</prop>
- <prop key="hibernate.generate_statistics">true</prop>
- <prop key="hibernate.hbm2ddl.auto">update</prop>
- <prop key="hibernate.jdbc.batch_size">0</prop>
- <prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
- <prop key="hibernate.cache.use_second_level_cache">true</prop>
- <prop key="hibernate.cache.use_query_cache">true</prop>
+ <prop key="toplink.logging.level">FINE</prop>
+ <prop key="toplink.jdbc.driver">org.apache.derby.jdbc.EmbeddedDriver</prop>
+ <prop key="toplink.jdbc.url">jdbc:derby:myfacesFusionDB;create=true</prop>
+ <prop key="toplink.jdbc.user">sa</prop>
+ <prop key="toplink.jdbc.password">foobar</prop>
+ <prop key="toplink.target-database">oracle.toplink.essentials.platform.database.DerbyPlatform</prop>
+ <prop key="toplink.ddl-generation">create-tables</prop>
</props>
</property>
+ <property name="persistenceUnitName" value="default"/>
+ </bean>
+
+<!--
+ <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
+ <property name="sessionFactory" ref="sessionFactory" />
</bean>
+
+ <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
+ <property name="dataSource" ref="dataSource"/>
+ <property name="annotatedClasses">
+ <list>
+ <value>org.apache.myfaces.examples.configurator.model.po.Component</value>
+ <value>org.apache.myfaces.examples.configurator.model.po.Piece</value>
+ <value>org.apache.myfaces.examples.configurator.model.po.OrderHead</value>
+ <value>org.apache.myfaces.examples.configurator.model.po.OrderItem</value>
+ </list>
+ </property>
+ <property name="hibernateProperties">
+ <props>
+ <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
+ <prop key="hibernate.show_sql">true</prop>
+ <prop key="hibernate.generate_statistics">true</prop>
+ <prop key="hibernate.hbm2ddl.auto">update</prop>
+ <prop key="hibernate.jdbc.batch_size">0</prop>
+ <prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
+ <prop key="hibernate.cache.use_second_level_cache">true</prop>
+ <prop key="hibernate.cache.use_query_cache">true</prop>
+ </props>
+ </property>
+ </bean>
+ -->
<!-- dao -->
<bean
name="componentDao"
class="org.apache.myfaces.examples.configurator.model.dao.ComponentDAO">
- <property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean
name="orderHeadDao"
class="org.apache.myfaces.examples.configurator.model.dao.OrderHeadDAO">
- <property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean
name="pieceDao"
class="org.apache.myfaces.examples.configurator.model.dao.PieceDAO">
- <property name="sessionFactory" ref="sessionFactory" />
+ </bean>
+ <bean
+ name="initialization"
+ class="org.apache.myfaces.examples.configurator.model.Initialization">
</bean>
<!-- the beans -->
<bean
- name="configuratorState"
- class="org.apache.myfaces.examples.configurator.backings.ConfiguratorState"
+ name="configuratorData"
+ class="org.apache.myfaces.examples.configurator.backings.ConfiguratorData"
scope="conversation"
autowire="byName">
- <aop:scoped-proxy />
+ <aop:scoped-proxy/>
</bean>
+ <!-- just a simple view controller -->
<bean
- name="configurator"
- class="org.apache.myfaces.examples.configurator.backings.Configurator"
+ name="configuratorCheckout"
+ class="org.apache.myfaces.examples.configurator.backings.Checkout"
scope="request">
- <property name="configuratorState" ref="configuratorState"/>
</bean>
</beans>
Copied: myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp (from r511943, myfaces/fusion/trunk/examples/src/main/webapp/configurator/Configurator.jsp)
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp?view=diff&rev=511994&p1=myfaces/fusion/trunk/examples/src/main/webapp/configurator/Configurator.jsp&r1=511943&p2=myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp&r2=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/webapp/configurator/Configurator.jsp (original)
+++ myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp Mon Feb 26 12:40:17 2007
@@ -34,7 +34,7 @@
<t:panelGrid
columns="2"
- columnClasses="TR1,TR2">
+ columnClasses="fixtext,selection">
<h:outputLabel
for="component"
@@ -42,9 +42,9 @@
<h:selectOneMenu
id="component"
- value="#{configuratorState.selectedComponent}">
+ value="#{configuratorData.selectedComponent}">
<f:selectItems
- value="#{configuratorState.components}" />
+ value="#{configuratorData.components}" />
<s:submitOnEvent
event="change"
for="showPieces" />
@@ -60,10 +60,14 @@
<t:dataTable
var="piece"
- value="#{configuratorState.pieces}">
+ value="#{configuratorData.pieces}"
+ rowClasses="TR1,TR2">
<f:facet name="footer">
- <h:commandButton value="Checkout" action="#{configuratorState.checkoutAction}" />
+ <h:panelGroup>
+ <h:commandButton value="Setup Database" action="#{configuratorData.setupDatabaseAction}" />
+ <h:commandButton value="Checkout" action="#{configuratorData.checkoutAction}" />
+ </h:panelGroup>
</f:facet>
<h:column>
@@ -93,9 +97,9 @@
</f:facet>
<h:commandLink
value="order"
- action="#{configuratorState.orderItemAction}">
+ action="#{configuratorData.orderItemAction}">
- <t:updateActionListener property="#{configuratorState.selectedPiece}" value="#{piece.id}" />
+ <t:updateActionListener property="#{configuratorData.selectedPiece}" value="#{piece.id}" />
</h:commandLink>
</h:column>
Propchange: myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: myfaces/fusion/trunk/examples/src/main/webapp/configurator/ComponentSelection.jsp
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: myfaces/fusion/trunk/examples/src/main/webapp/default.css
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/examples/src/main/webapp/default.css?view=diff&rev=511994&r1=511993&r2=511994
==============================================================================
--- myfaces/fusion/trunk/examples/src/main/webapp/default.css (original)
+++ myfaces/fusion/trunk/examples/src/main/webapp/default.css Mon Feb 26 12:40:17 2007
@@ -49,4 +49,32 @@
{
list-style-type: none;
display: inline;
+}
+
+table thead
+{
+ background-color: #9999ff;
+ color: white;
+}
+
+.TR1
+{
+ background-color: #ffff99;
+}
+
+.TR2
+{
+ background-color: #cccccc;
+}
+
+.fixtext
+{
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.selection
+{
+ font-weight: normal;
+ vertical-align: top;
}