|
From: <me...@us...> - 2002-10-01 05:12:29
|
Update of /cvsroot/cayenne/cayenne/src/tutorials/cayenne-web-app
In directory usw-pr-cvs1:/tmp/cvs-serv26389/src/tutorials/cayenne-web-app
Added Files:
addArtistPage.jsp addGalleryPage.jsp addPaintingPage.jsp
artistBrowsePage.jsp artistDetailPage.jsp build.xml
chooseGalleryPage.jsp galleryBrowsePage.jsp index.jsp
navi.html styles.css tutorialdb.sql
Log Message:
relocated tutorials to a subproject
(old tutorials are still around but will be deleted soon)
--- NEW FILE: addArtistPage.jsp ---
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<html:form action="/saveArtist">
<table width="640" class="standardTable" border="1">
<tr>
<td colspan="2" bgcolor="silver"><span class="titleTextStrong">Add an Artist</span></td>
</tr>
<tr>
<td align="right">Artist Name: </td>
<td><html:text property="artistName" size="50"/></td>
</tr>
<tr>
<td align="right">Date of Birth: </td>
<td><html:text property="dateOfBirth" size="10" maxlength="10" /></td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit><bean:message key="button.addartist"/></html:submit></td>
</tr>
</table>
</html:form>
</body>
</html:html>
--- NEW FILE: addGalleryPage.jsp ---
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<html:form action="/saveGallery">
<table width="640" class="standardTable" border="1">
<tr>
<td colspan="2" bgcolor="silver"><span class="titleTextStrong">Add a Gallery</span></td>
</tr>
<tr>
<td align="right">Gallery Name: </td>
<td><html:text property="galleryName" size="40" maxlength="40"/></td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit>Add Gallery</html:submit></td>
</tr>
</table>
</html:form>
</body>
</html:html>
--- NEW FILE: addPaintingPage.jsp ---
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<html:form action="/savePainting">
<html:hidden property="artistName"/>
<table width="640" class="standardTable" border="1">
<tr>
<td colspan="2" bgcolor="silver"><span class="titleTextStrong">Add a Painting</span></td>
</tr>
<tr>
<td align="right">Painting Title: </td>
<td><html:text property="paintingTitle" size="50"/></td>
</tr>
<tr>
<td align="right">Estimated Price: </td>
<td><html:text property="estimatedPrice" size="10"/></td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit><bean:message key="button.addpainting"/></html:submit></td>
</tr>
</table>
</html:form>
</body>
</html:html>
--- NEW FILE: artistBrowsePage.jsp ---
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<br><br>
<span class="titleTextStrong">Artist Browse Page</span><br><br>
<table width="100%" class="standardTable" border="0" cellspacing="0">
<logic:iterate id="anArtist" name="artists">
<tr bgcolor="silver">
<td colspan="2"><b>Artist Details:</b></td>
<td align="right"><a href="addPainting.do?name=<bean:write name="anArtist" property="artistName"/>">add painting</a></td>
</tr>
<tr>
<td width="125"><bean:write name="anArtist" property="artistName"/> </td>
<td><b>Paintings:</b></td>
<td align="right"><b>DOB:</b> <bean:write name="anArtist" property="dateOfBirth"/></td>
</tr>
<tr>
<td></td>
<td valign="top">
<nested:root name="anArtist">
<nested:iterate property="paintingArray">
<LI><i><nested:write property="paintingTitle" /></i>
<nested:present property="toGallery">
, currently displayed at <nested:write property="toGallery.galleryName" />
</nested:present>
<nested:notPresent property="toGallery">
- <a href="addPaintingToGallery.do?title=<nested:write property="paintingTitle" />">add painting to gallery display</a>
</nested:notPresent>
</nested:iterate>
</nested:root>
</td>
<td></td>
</tr>
<tr>
<td colspan="3"><br></td>
</tr>
</logic:iterate>
<tr>
<td colspan="3" align="center"><br><a href="addArtist.do">Add Artist</a></td>
</tr>
</table>
</body>
</html:html>
--- NEW FILE: artistDetailPage.jsp ---
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<br><br>
<span class="titleTextStrong">Artist Detail Page</span><br><br>
<table width="640" class="standardTable">
<tr>
<td bgcolor="#FFFFCE" colspan="3"><b><bean:write name="artist" property="artistName" scope="request" /></b></td>
</tr>
<tr>
<td width="100"> </td>
<td><b>Paintings:</b></td>
<td align="right"><b>DOB:</b> <bean:write name="artist" property="dateOfBirth" scope="request"/></td>
</tr>
<tr>
<td></td>
<td>
<nested:root name="artist">
<nested:iterate property="paintingArray">
<br> <i><nested:write property="paintingTitle" /></i>
<nested:present property="toGallery">
, currently displayed at <nested:write property="toGallery.galleryName" />
</nested:present>
</nested:iterate>
</nested:root>
<br><br>
<html:form action="/savePainting">
<html:hidden name="artist" property="artistName" />
<html:text property="paintingTitle" size="50"/><br>
<html:text property="estimatedPrice" size="10"/><br>
<html:submit>
<bean:message key="button.addpainting"/>
</html:submit>
</html:form>
</td>
<td></td>
</tr>
</table>
</body>
</html:html>
--- NEW FILE: build.xml ---
<?xml version="1.0"?>
<!-- =============================================== -->
<!-- cayenne-cmd-app tutorial buildfile. -->
<!-- =============================================== -->
<project name="cayenne-web-app" default="compile">
<property name="tutorial.subpath" value="tutorials/cayenne-web-app"/>
<property name="tutorial.build" value="${build}/${tutorial.subpath}/classes"/>
<property name="tutorial.src" value="src/${tutorial.subpath}/WEB-INF/classes"/>
<path id="classpath">
<fileset dir="otherlib">
<include name="*.jar"/>
</fileset>
<pathelement path="${build}/cayenne/classes"/>
</path>
<target name="prepare">
<mkdir dir="${tutorial.build}"/>
</target>
<target name="compile" depends="prepare">
<javac srcdir="${tutorial.src}"
destdir="${tutorial.build}"
debug="on"
deprecation="on">
<classpath refid="classpath"/>
</javac>
</target>
<target name="dist-src">
</target>
<target name="dist-bin" depends="compile">
</target>
</project>
--- NEW FILE: chooseGalleryPage.jsp ---
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<br><br>
<table width="640" class="standardTable" border="1">
<tr>
<td bgcolor="silver"><span class="titleTextStrong">Choose Gallery for '<b><bean:write name="painting" property="paintingTitle" scope="request" /></b>'</span></td>
</tr>
<tr>
<td><br>Galaries currently taking submissions: (choose by clicking the gallery name)<br><br>
<logic:iterate id="aGallery" name="galleries" scope="request">
<a href="choosePaintingForGallery.do?title=<bean:write name="painting" property="paintingTitle" scope="request" />&galleryName=<bean:write name="aGallery" property="galleryName"/>"><bean:write name="aGallery" property="galleryName"/></a><br>
</logic:iterate>
<br>
</td>
</tr>
</table>
</body>
</html:html>
--- NEW FILE: galleryBrowsePage.jsp ---
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<br><br>
<span class="titleTextStrong">Gallery Browse Page</span><br><br>
<table width="100%" class="standardTable" border="0" cellspacing="0">
<logic:iterate id="aGallery" name="galleries">
<tr>
<td bgcolor="silver" colspan="2"><b>Gallery Details:</b></td>
</tr>
<tr>
<td width="250"><bean:write name="aGallery" property="galleryName"/></td>
<td width="390"><b>Current Displays:</b></td>
</tr>
<tr>
<td></td>
<td>
<nested:root name="aGallery">
<nested:iterate property="paintingArray">
<nested:write property="paintingTitle" />, $<nested:write property="estimatedPrice" /> <i>by <nested:write property="toArtist.artistName" /> <a href="removePaintingFromGallery.do?title=<nested:write property="paintingTitle" />&galleryName=<bean:write name="aGallery" property="galleryName"/>">remove painting from gallery</a></i><br>
</nested:iterate>
</nested:root><br>
</td>
</tr>
</logic:iterate>
<tr>
<td colspan="2" align="center"><a href="addGallery.do">Add Gallery</a></td>
</tr>
</table>
</body>
</html:html>
--- NEW FILE: index.jsp ---
<%@ page language="java" %>
<%@ page import="org.objectstyle.cayenne.access.DataContext" %>
<%@ page import="org.objectstyle.cayenne.access.DataDomain" %>
<%@ page import="org.objectstyle.cayenne.conf.ServletConfiguration" %>
<%@ page import="javax.servlet.http.HttpSession" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%
DataContext ctxt = ServletConfiguration.getDefaultContext(request.getSession());
session.setAttribute("context", ctxt);
%>
<html:html locale="true">
<head>
<title><bean:message key="index.title"/></title>
<html:base/>
<LINK REL="stylesheet" TYPE="text/css" href="styles.css" TITLE="default">
</head>
<body bgcolor="white">
<jsp:include page="navi.html" flush="true"/>
<logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application">
<font color="red">
ERROR: Application resources not loaded -- check servlet container
logs for error messages.
</font>
</logic:notPresent>
<h3><bean:message key="index.heading"/></h3>
<p><bean:message key="index.message"/></p>
</body>
</html:html>
--- NEW FILE: navi.html ---
<span class="standardTable"><a href="index.jsp"><img src="images/cayenne_logo.gif" width=183 height=70 alt="return home" border="0"></a> [ <a href="browseArtists.do">view artists</a> ] - [ <a href="browseGalleries.do">view galleries</a> ]</span>
--- NEW FILE: styles.css ---
.standardTable {font-family: arial; border-style: none; font-size: 12px};
SPAN.titleTextStrong {font-family: arial; font-size: 14px; font-weight: bold}
--- NEW FILE: tutorialdb.sql ---
# Uncomment these if you already have ARTIST, GALLERY and PAINTING tables.
# DROP TABLE ARTIST;
# DROP TABLE GALLERY;
# DROP TABLE PAINTING;
CREATE TABLE ARTIST (
DATE_OF_BIRTH DATE NULL,
ARTIST_ID INT NOT NULL,
ARTIST_NAME CHAR(255) NOT NULL,
PRIMARY KEY (ARTIST_ID)
);
CREATE TABLE GALLERY (
GALLERY_ID INT NOT NULL,
GALLERY_NAME VARCHAR(100) NOT NULL,
PRIMARY KEY (GALLERY_ID)
);
CREATE TABLE PAINTING (
PAINTING_TITLE VARCHAR(255) NOT NULL,
GALLERY_ID INT NULL,
ESTIMATED_PRICE DECIMAL NULL,
PAINTING_ID INT NOT NULL,
ARTIST_ID INT NULL,
PRIMARY KEY (PAINTING_ID)
);
INSERT INTO GALLERY (GALLERY_ID, GALLERY_NAME)
VALUES (1, 'The Metropolitan Museum of Art');
INSERT INTO GALLERY (GALLERY_ID, GALLERY_NAME)
VALUES (2, 'Louvre');
INSERT INTO GALLERY (GALLERY_ID, GALLERY_NAME)
VALUES (3, 'The State Hermitage Museum');
INSERT INTO ARTIST (DATE_OF_BIRTH, ARTIST_ID, ARTIST_NAME)
VALUES ('1970-06-05', 1, 'Andrus Adamchik');
INSERT INTO ARTIST (DATE_OF_BIRTH, ARTIST_ID, ARTIST_NAME)
VALUES ('1969-07-08', 2, 'Matt Kerr');
INSERT INTO ARTIST (DATE_OF_BIRTH, ARTIST_ID, ARTIST_NAME)
VALUES ('1972-07-23', 3, 'Eric Schneider');
INSERT INTO ARTIST (DATE_OF_BIRTH, ARTIST_ID, ARTIST_NAME)
VALUES ('1967-04-25', 4, 'Kyle Dawkins');
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (1, 1, 1, 'Andrus Painting One', 2500);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (2, 1, 2, 'Andrus Painting Two', 3000);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (3, 1, 3, 'Andrus Painting Three', 3500);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (4, 2, 1, 'Matt Painting One', 2000);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (5, 2, 2, 'Matt Painting Two', 2300);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (6, 2, NULL, 'Matt Painting Three', 3200);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (7, 3, 1, 'Eric Painting One', 2600);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (8, 3, NULL, 'Eric Painting Two', 2300);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (9, 3, 3, 'Eric Painting Three', 3100);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (10, 4, NULL, 'Kyle Painting One', 2200);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (11, 4, 2, 'Kyle Painting Two', 2800);
INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, GALLERY_ID, PAINTING_TITLE, ESTIMATED_PRICE)
VALUES (12, 4, 3, 'Kyle Painting Three', 1600);
|