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); |