geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Geronimo v2.2: Creating deployment plans using the deployment plan wizard (page edited)
Date Tue, 05 May 2009 02:11:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence" />
    <style type="text/css">
    <!--
    body, p, td, table, tr, .bodytext, .stepfield {
	font-family: Verdana, arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
	color: #000000;
	font-weight: normal;
}
#PageContent {
	text-align: left;
	background-color: #fff;
	padding: 0px;
	margin: 0px;
    padding-bottom:20px;
}
/*
** when this stylesheet is used for the Tiny MCE Wysiwyg editor's edit area, we can't
** use an id=PageContent or class=wiki-content, so we must
** set the body style to that used for PageContent, and p to that used for wiki-content.
*/

body {
	margin: 0px;
	padding: 0px;
	text-align: center;
    background-color: #f0f0f0;
}

@media print {

body {
    background-color: #fff;
}

}

.monospaceInput {
    font:12px monospace
}

.wiki-content p, .commentblock p {
    margin: 16px 0px 16px 0px;
    padding: 0px;
}

.wiki-content-preview {
    padding: 5px;
    border-left: 1px solid #3c78b5;
    border-right: 1px solid #3c78b5;
}

ul, ol {
    margin-top: 2px;
    margin-bottom: 2px;
    padding-top: 0px;
    padding-bottom: 0px;
}

pre {
    padding: 0px;
    margin-top: 5px;
    margin-left: 15px;
    margin-bottom: 5px;
    margin-right: 5px;
    text-align: left;
}

.helpheading {
    font-weight: bold;
    background-color: #D0D9BD;
        border-bottom: 1px solid #3c78b5;
        padding: 4px 4px 4px 4px;
        margin: 0px;
        margin-top: 10px;
}
.helpcontent {
        padding: 4px 4px 20px 4px;
    background-color: #f5f7f1;
}

.code {
 	border: 1px dashed #3c78b5;
    font-size: 11px;
	font-family: Courier;
    margin: 10px;
	line-height: 13px;
}

.focusedComment {
    background: #ffffce;
}

.commentBox, .focusedComment {
    padding: 10px;
    margin: 5px 0 5px 0;
    border: 1px #bbb solid;
}

.codeHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.codeContent {
    text-align: left;
    background-color: #f0f0f0;
    padding: 3px;
}

.preformatted {
 	border: 1px dashed #3c78b5;
    font-size: 11px;
	font-family: Courier;
    margin: 10px;
	line-height: 13px;
}

.preformattedHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.preformattedContent {
    background-color: #f0f0f0;
    padding: 3px;
}

.panel {
 	border: 1px dashed #3c78b5;
    margin: 10px;
    margin-top: 0px;
}

.panelHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.panelContent {
    background-color: #f0f0f0;
    padding: 5px;
}

.anonymousAlert {
    background-color: #f0f0f0;
 	border: 1px dashed red;
    font-size: 11px;
    padding: 10px 5px 10px 5px;
    margin: 4px;
	line-height: 13px;
}

.lockAlert {
    background-color: #f0f0f0;
    width: 50%;
 	border: 1px dashed red;
    font-size: 11px;
    padding: 10px 5px 10px 5px;
    margin: 4px;
	line-height: 13px;
}


.code-keyword {
  color: #000091;
  background-color: inherit;
}

.code-object {
  color: #910091;
  background-color: inherit;
}

.code-quote {
  color: #009100;
  background-color: inherit;
}

.code-comment {
  color: #808080;
  background-color: inherit;
}


.code-xml .code-keyword {
  color: inherit;
  font-weight: bold;
}

.code-tag {
  color: #000091;
  background-color: inherit;
}

.breadcrumbs {
    background-color: #f0f0f0;
 	border-color: #3c78b5;
	border-width: 1px 0px 1px 0px;
	border-style: solid;
    font-size: 11px;
    padding: 3px 0px 3px 0px;
}

.navmenu {
    border: 1px solid #ccc;
}

.menuheading {
    font-weight: bold;
    background-color: #f0f0f0;
 	border-bottom: 1px solid #3c78b5;
	padding: 4px 4px 2px 4px;
}

.menuitems {
	padding: 4px 4px 20px 4px;
}

.rightpanel {
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

#helpheading {
    text-align: left;
    font-weight: bold;
    background-color: #D0D9BD;
 	border-bottom: 1px solid #3c78b5;
	padding: 4px 4px 4px 4px;
	margin: 0px;
}
#helpcontent {
	padding: 4px 4px 4px 4px;
    background-color: #f5f7f1;
}
.helptab-unselected {
    font-weight: bold;
	padding: 5px;
    background-color: #f5f7f1;
}
.helptab-selected {
    font-weight: bold;
    background-color: #D0D9BD;
	padding: 5px;
}
.helptabs {
    margin: 0px;
    background-color: #f5f7f1;
	padding: 5px;
}
.infopanel-heading {
    font-weight: bold;
	padding: 4px 0px 2px 0px;
}

.pagebody {
}

.pageheader {
	padding: 5px 5px 5px 0px;
 	border-bottom: 1px solid #3c78b5;
}

.pagetitle {
	font-size: 22px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
}

.newpagetitle {
    color: #ccc !important;
}

.steptitle {
	font-size: 18px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
	margin-bottom: 7px;
}

.substeptitle {
    font-size: 12px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
    margin: 2px 4px 4px 4px;
    padding: 2px 4px 1px 4px;
}

.stepdesc {
    font-family: Verdana, arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
	font-weight: normal;
    color: #666666;
    margin-top: 7px;
    margin-bottom: 7px;
}

.steplabel {
    font-weight: bold;
    margin-right: 4px;
    color: black;
    float: left;
    width: 15%;
    text-align: right;
}

.stepfield {
    background: #f0f0f0;
    padding: 5px;
}

.submitButtons{
    margin-top:5px;
    text-align:right;
}

.formtitle {
	font-size: 12px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
}

.sectionbottom {
    border-bottom: 1px solid #3c78b5;
}

.topRow {
    border-top: 2px solid #3c78b5;
}

.tabletitle {
	font-size: 14px;
	font-weight: bold;
	font-family: Arial, sans-serif;
    padding: 3px 0px 2px 0px;
    margin: 8px 4px 2px 0px;
	color: #003366;
	border-bottom: 2px solid #3c78b5;
}
.pagesubheading {
    color: #666666;
    font-size: 10px;
    padding: 0px 0px 5px 0px;
}

HR {
	color: 3c78b5;
	height: 1;
}

A:link, A:visited, A:active, A:hover {
	color: #003366;
}

h1 A:link, h1 A:visited, h1 A:active {
	text-decoration: none;
}

h1 A:hover {
    border-bottom: 1px dotted #003366;
}

.wiki-content > :first-child, .commentblock > :first-child {
    margin-top: 3px;
}

.logocell {
    padding: 10px;
}

input {
	font-family: verdana, geneva, arial, sans-serif;
	font-size: 11px;
	color: #000000;
}

textarea, textarea.editor {
	font-family: verdana, geneva, arial, sans-serif;
	font-size: 11px;
	color: #333333;
}

/* use logoSpaceLink instead.
.spacenametitle {
	font: 21px/31px Impact, Arial, Helvetica;
    font-weight: 100;
    color: #999999;
	margin: 0px;
}
.spacenametitle img {
  margin: 0 0 -4px 0;
}
.spacenametitle a {
    text-decoration: none;
    color: #999999;
}
.spacenametitle a:visited {
    text-decoration: none;
    color: #999999;
}*/

.spacenametitle-printable {
	font: 20px/25px Impact, Arial, Helvetica;
    font-weight: 100;
    color: #999999;
	margin: 0px;
}
.spacenametitle-printable a {
    text-decoration: none;
    color: #999999;
}
.spacenametitle-printable a:visited {
    text-decoration: none;
    color: #999999;
}

.blogDate {
	font-weight: bold;
	text-decoration: none;
	color: black;
}

.blogSurtitle {
    background: #f0f0f0;
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.blogHeading {
    font-size: 20px;
    line-height: normal;
    font-weight: bold;
    padding: 0px;
    margin: 0px;
}

.blogHeading a {
   text-decoration: none;
   color: black;
}

.endsection {
	align: right;
	color: #666666;
	margin-top: 10px;
}
.endsectionleftnav {
	align: right;
	color: #666666;
	margin-top: 10px;
}

h1 {
	font-size: 24px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	color: #003366;
 	border-bottom: 1px solid #3c78b5;
	padding: 2px;
	margin: 36px 0px 4px 0px;
}

h2 {
	font-size: 18px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
 	border-bottom: 1px solid #3c78b5;
	padding: 2px;
	margin: 27px 0px 4px 0px;
}

h3 {
	font-size: 14px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 21px 0px 4px 0px;
}

h4 {
	font-size: 12px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 18px 0px 4px 0px;
}

h4.search {
	font-size: 12px;
	line-height: normal;
	font-weight: normal;
	background-color: #f0f0f0;
	padding: 4px;
	margin: 18px 0px 4px 0px;
}

h5 {
	font-size: 10px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 14px 0px 4px 0px;
}

h6 {
	font-size: 8px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 14px 0px 4px 0px;
}

.smallfont {
    font-size: 10px;
}
.descfont {
    font-size: 10px;
    color: #666666;
}
.smallerfont {
    font-size: 9px;
}
.smalltext {
    color: #666666;
    font-size: 10px;
}
.smalltext a {
    color: #666666;
}
.smalltext-blue {
    color: #3c78b5;
    font-size: 10px;
}
.surtitle {
    margin-left: 1px;
    margin-bottom: 5px;
    font-size: 14px;
    color: #666666;
}

/* css hack found here:  http://www.fo3nix.pwp.blueyonder.co.uk/tutorials/css/hacks/ */
.navItemOver { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #003366; cursor: hand; voice-family: '\'}\''; voice-family:inherit; cursor: pointer;}
.navItemOver a { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItemOver a:visited { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItemOver a:hover { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItem { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #3c78b5; }
.navItem a { color: #ffffff; text-decoration: none; }
.navItem a:hover { color: #ffffff; text-decoration: none; }
.navItem a:visited { color: #ffffff; text-decoration: none; }

div.padded { padding: 4px; }
div.thickPadded { padding: 10px; }
h3.macrolibrariestitle {
    margin: 0px 0px 0px 0px;
}

div.centered { text-align: center; margin: 10px; }
div.centered table {margin: 0px auto; text-align: left; }

.tableview table {
    margin: 0;
}

.tableview th {
    text-align: left;
    color: #003366;
    font-size: 12px;
    padding: 5px 0px 0px 5px;
    border-bottom: 2px solid #3c78b5;
}
.tableview td {
    text-align: left;
    border-color: #ccc;
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    margin: 0;
    padding: 4px 10px 4px 5px;
}

.grid {
    margin: 2px 0px 5px 0px;
    border-collapse: collapse;
}
.grid th  {
    border: 1px solid #ccc;
    padding: 2px 4px 2px 4px;
    background: #f0f0f0;
    text-align: center;
}
.grid td  {
    border: 1px solid #ccc;
    padding: 3px 4px 3px 4px;
}
.gridHover {
	background-color: #f9f9f9;
}

td.infocell {
    background-color: #f0f0f0;
}
.label {
	font-weight: bold;
	color: #003366;
}

label {
	font-weight: bold;
	color: #003366;
}

.error {
	background-color: #fcc;
}

.errorBox {
	background-color: #fcc;
    border: 1px solid #c00;
    padding: 5px;
    margin: 5px;
}

.errorMessage {
	color: #c00;
}

.success {
	background-color: #dfd;
}

.successBox {
	background-color: #dfd;
    border: 1px solid #090;
    padding: 5px;
    margin-top:5px;
    margin-bottom:5px;
}

blockquote {
	padding-left: 10px;
	padding-right: 10px;
	margin-left: 5px;
	margin-right: 0px;
	border-left: 1px solid #3c78b5;
}

table.confluenceTable
{
    margin: 5px;
    border-collapse: collapse;
}

/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
table.confluenceTable td.confluenceTd
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
}

/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
table.confluenceTable th.confluenceTh
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
    background-color: #f0f0f0;
    text-align: center;
}

td.confluenceTd
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
}

th.confluenceTh
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
    background-color: #f0f0f0;
    text-align: center;
}

DIV.small {
	font-size: 9px;
}

H1.pagename {
	margin-top: 0px;
}

IMG.inline  {}

.loginform {
    margin: 5px;
    border: 1px solid #ccc;
}

/* The text how the "This is a preview" comment should be shown. */
.previewnote { text-align: center;
                font-size: 11px;
                    color: red; }

/* How the preview content should be shown */
.previewcontent { background: #E0E0E0; }

/* How the system messages should be shown (DisplayMessage.jsp) */
.messagecontent { background: #E0E0E0; }

/* How the "This page has been modified..." -comment should be shown. */
.conflictnote { }

.createlink {
    color: maroon;
}
a.createlink {
    color: maroon;
}
.templateparameter {
    font-size: 9px;
    color: darkblue;
}

.diffadded {
    background: #ddffdd;
    padding: 1px 1px 1px 4px;
	border-left: 4px solid darkgreen;
}
.diffdeleted {
    color: #999;
    background: #ffdddd;
    padding: 1px 1px 1px 4px;
	border-left: 4px solid darkred;
}
.diffnochange {
    padding: 1px 1px 1px 4px;
	border-left: 4px solid lightgrey;
}
.differror {
    background: brown;
}
.diff {
    font-family: lucida console, courier new, fixed-width;
	font-size: 12px;
	line-height: 14px;
}
.diffaddedchars {
    background-color:#99ff99;
    font-weight:bolder;
}
.diffremovedchars {
    background-color:#ff9999;
    text-decoration: line-through;
    font-weight:bolder;
}

.greybackground {
    background: #f0f0f0
}

.greybox {
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.borderedGreyBox {
    border: 1px solid #cccccc;
    background-color: #f0f0f0;
    padding: 10px;
}

.greyboxfilled {
 	border: 1px solid #ddd;
    background: #f0f0f0;
    padding: 3px;
	margin: 1px 1px 10px 1px;
}

.navBackgroundBox {
    padding: 5px 5px 5px 5px;
    font-size: 22px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: white;
    background: #3c78b5;
    text-decoration: none;
}

.previewBoxTop {
	background-color: #f0f0f0;
    border-width: 1px 1px 0px 1px;
    border-style: solid;
    border-color: #3c78b5;
    padding: 5px;
    margin: 5px 0px 0px 0px;
    text-align: center;
}
.previewContent {
    background-color: #fff;
 	border-color: #3c78b5;
	border-width: 0px 1px 0px 1px;
	border-style: solid;
	padding: 10px;
	margin: 0px;
}
.previewBoxBottom {
	background-color: #f0f0f0;
    border-width: 0px 1px 1px 1px;
    border-style: solid;
    border-color: #3c78b5;
    padding: 5px;
    margin: 0px 0px 5px 0px;
    text-align: center;
}

.functionbox {
    background-color: #f0f0f0;
 	border: 1px solid #3c78b5;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.functionbox-greyborder {
    background-color: #f0f0f0;
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.search-highlight {
    background-color: #ffffcc;
}

/* normal (white) background */
.rowNormal {
    background-color: #ffffff;
 }

/* alternate (pale yellow) background */
.rowAlternate {
    background-color: #f7f7f7;
}

/* used in the list attachments table */
.rowAlternateNoBottomColor {
    background-color: #f7f7f7;
}

.rowAlternateNoBottomNoColor {
}

.rowAlternateNoBottomColor td {
    border-bottom: 0px;
}

.rowAlternateNoBottomNoColor td {
    border-bottom: 0px;
}

/* row highlight (grey) background */
.rowHighlight {
    background-color: #f0f0f0;

}

TD.greenbar {FONT-SIZE: 2px; BACKGROUND: #00df00; BORDER: 1px solid #9c9c9c; PADDING: 0px; }
TD.redbar {FONT-SIZE: 2px; BACKGROUND: #df0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; }
TD.darkredbar {FONT-SIZE: 2px; BACKGROUND: #af0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; }

TR.testpassed {FONT-SIZE: 2px; BACKGROUND: #ddffdd; PADDING: 0px; }
TR.testfailed {FONT-SIZE: 2px; BACKGROUND: #ffdddd; PADDING: 0px; }

.toolbar  {
    margin: 0px;
    border-collapse: collapse;
}

.toolbar td  {
    border: 1px solid #ccc;
    padding: 2px 2px 2px 2px;
    color: #ccc;
}

td.noformatting {
    border-width: 0px;
    border-style: none;
    text-align: center;
	padding: 0px;
}

.commentblock {
    margin: 12px 0 12px 0;
}

/*
 * Divs displaying the license information, if necessary.
 */
.license-eval, .license-none, .license-nonprofit {
    border-top: 1px solid #bbbbbb;
    text-align: center;
    font-size: 10px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.license-eval, .license-none {
    background-color: #ffcccc;
}

.license-eval b, .license-none b {
    color: #990000
}

.license-nonprofit {
    background-color: #ffffff;
}

/*
 * The shadow at the bottom of the page between the main content and the
 * "powered by" section.
 */
.bottomshadow {
    height: 12px;
    background-image: url("$req.contextPath/images/border/border_bottom.gif");
    background-repeat: repeat-x;
}

/*
 * Styling of the operations box
 */
.navmenu .operations li, .navmenu .operations ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.navmenu .operations ul {
    margin-bottom: 9px;
}

.navmenu .label {
    font-weight: inherit;
}

/*
 * Styling of ops as a toolbar
 */
.toolbar div {
    display: none;
}

.toolbar .label {
    display: none;
}

.toolbar .operations {
    display: block;
}

.toolbar .operations ul {
    display: inline;
    list-style: none;
    margin-left: 10px;
    padding-left: 0;
}

.toolbar .operations li {
    list-style: none;
    display: inline;
}

/* list page navigational tabs */
#foldertab {
padding: 3px 0px 3px 8px;
margin-left: 0;
border-bottom: 1px solid #3c78b5;
font: bold 11px Verdana, sans-serif;
}

#foldertab li {
list-style: none;
margin: 0;
display: inline;
}

#foldertab li a {
padding: 3px 0.5em;
margin-left: 3px;
border: 1px solid #3c78b5;
border-bottom: none;
background: #3c78b5;
text-decoration: none;
}

#foldertab li a:link { color: #ffffff; }
#foldertab li a:visited { color: #ffffff; }

#foldertab li a:hover {
color: #ffffff;
background: #003366;
border-color: #003366;
}

#foldertab li a.current {
background: white;
border-bottom: 1px solid white;
color: black;
}

#foldertab li a.current:link { color: black; }
#foldertab li a.current:visited { color: black; }
#foldertab li a.current:hover {
background: white;
border-bottom: 1px solid white;
color: black;
}

/* alphabet list */
ul#squaretab {
margin-left: 0;
padding-left: 0;
white-space: nowrap;
font: bold 8px Verdana, sans-serif;
}

#squaretab li {
display: inline;
list-style-type: none;
}

#squaretab a {
padding: 2px 6px;
border: 1px solid #3c78b5;
}

#squaretab a:link, #squaretab a:visited {
color: #fff;
background-color: #3c78b5;
text-decoration: none;
}

#squaretab a:hover {
color: #ffffff;
background-color: #003366;
border-color: #003366;
text-decoration: none;
}

#squaretab li a#current {
background: white;
color: black;
}

.blogcalendar * {
    font-family:verdana, arial, sans-serif;
    font-size:x-small;
    font-weight:normal;
    line-height:140%;
    padding:2px;
}


table.blogcalendar {
    border: 1px solid #3c78b5;
}

.blogcalendar th.calendarhead, a.calendarhead {
    font-size:x-small;
    font-weight:bold;
    padding:2px;
    text-transform:uppercase;
    background-color: #3c78b5;
    color: #ffffff;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.calendarhead:visited {color: white;}
.calendarhead:active {color: white;}
.calendarhead:hover {color: white;}

.blogcalendar th {
    font-size:x-small;
    font-weight:bold;
    padding:2px;
    background-color:#f0f0f0;
}

.blogcalendar td {
    font-size:x-small;
    font-weight:normal;
}

.searchGroup { padding: 0 0 10px 0; background: #f0f0f0; }
.searchGroupHeading { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #3c78b5; padding: 2px 4px 1px 4px; }
.searchItem { padding: 1px 4px 1px 4px; }
.searchItemSelected { padding: 1px 4px 1px 4px; font-weight: bold; background: #ddd; }

/* permissions page styles */
.permissionHeading {
    border-bottom: #bbb; border-width: 0 0 1px 0; border-style: solid; font-size: 16px; text-align: left;
}
.permissionTab {
    border-width: 0 0 0 1px; border-style: solid; background: #3c78b5; color: #ffffff; font-size: 10px;
}
.permissionSuperTab {
    border-width: 0 0 0 1px; border-style: solid; background: #003366; color: #ffffff;
}
.permissionCell {
    border-left: #bbb; border-width: 0 0 0 1px; border-style: solid;
}

/* warning panel */
.warningPanel { background: #FFFFCE; border:#F0C000 1px solid; padding: 8px; margin: 10px; }
/* alert panel */
.alertPanel { background: #FFCCCC; border:#C00 1px solid; padding: 8px; margin: 10px; }
/* info panel */
.infoPanel { background: #D8E4F1; border:#3c78b5 1px solid; padding: 8px; margin: 10px; }

/* side menu highlighting (e.g. space content screen) */
.optionPadded { padding: 2px; }
.optionSelected { background-color: #ffffcc; padding: 2px; border: 1px solid #ddd; margin: -1px; }
.optionSelected a { font-weight: bold; text-decoration: none; color: black; }

/* information macros */
.noteMacro { border-style: solid; border-width: 1px; border-color: #F0C000; background-color: #FFFFCE; text-align:left; margin-top: 5px; margin-bottom: 5px}
.warningMacro { border-style: solid; border-width: 1px; border-color: #c00; background-color: #fcc; text-align:left; margin-top: 5px; margin-bottom: 5px}
.infoMacro { border-style: solid; border-width: 1px; border-color: #3c78b5; background-color: #D8E4F1; text-align:left; margin-top: 5px; margin-bottom: 5px}
.tipMacro { border-style: solid; border-width: 1px; border-color: #090; background-color: #dfd; text-align:left; margin-top: 5px; margin-bottom: 5px}
.informationMacroPadding { padding: 5px 0 0 5px; }

table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro td, table.sectionMacro td {
    border: none;
}

table.sectionMacroWithBorder td.columnMacro { border-style: dashed; border-width: 1px; border-color: #cccccc;}

.pagecontent
{
    padding: 10px;
    text-align: left;
}

/* styles for links in the top bar */
.topBarDiv a:link {color: #ffffff;}
.topBarDiv a:visited {color: #ffffff;}
.topBarDiv a:active {color: #ffffff;}
.topBarDiv a:hover {color: #ffffff;}
.topBarDiv {color: #ffffff;}

.topBar {
    background-color: #003366;
}


/* styles for extended operations */
.greyLinks a:link {color: #666666; text-decoration:underline;}
.greyLinks a:visited {color: #666666; text-decoration:underline;}
.greyLinks a:active {color: #666666; text-decoration:underline;}
.greyLinks a:hover {color: #666666; text-decoration:underline;}
.greyLinks {color: #666666; display:block; padding: 10px}

.logoSpaceLink {color: #999999; text-decoration: none}
.logoSpaceLink a:link {color: #999999; text-decoration: none}
.logoSpaceLink a:visited {color: #999999; text-decoration: none}
.logoSpaceLink a:active {color: #999999; text-decoration: none}
.logoSpaceLink a:hover {color: #003366; text-decoration: none}

/* basic panel (basicpanel.vmd) style */
.basicPanelContainer {border: 1px solid #3c78b5; margin-top: 2px; margin-bottom: 8px; width: 100%}
.basicPanelTitle {padding: 5px; margin: 0px; background-color: #f0f0f0; color: black; font-weight: bold;}
.basicPanelBody {padding: 5px; margin: 0px}

.separatorLinks a:link {color: white}
.separatorLinks a:visited {color: white}
.separatorLinks a:active {color: white}

.greynavbar {background-color: #f0f0f0; border-top: 1px solid #3c78b5; margin-top: 2px}

div.headerField {
    float: left;
    width: auto;
    height: 100%;
}

.headerFloat {
    margin-left: auto;
    width: 50%;
}

.headerFloatLeft {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
}

#headerRow {
    padding: 10px;
}

div.license-personal {
   background-color: #003366;
   color: #ffffff;
}

div.license-personal a {
   color: #ffffff;
}

.greyFormBox {
    border: 1px solid #cccccc;
    padding: 5px;
}

/* IE automatically adds a margin before and after form tags. Use this style to remove that */
.marginlessForm {
    margin: 0px;
}

.openPageHighlight {
    background-color: #ffffcc;
    padding: 2px;
    border: 1px solid #ddd;
}

.editPageInsertLinks, .editPageInsertLinks a
{
    color: #666666;
    font-weight: bold;
    font-size: 10px;
}

/* Style for label heatmap. */
.top10 a {
    font-weight: bold;
    font-size: 2em;
    color: #003366;
}
.top25 a {
    font-weight: bold;
    font-size: 1.6em;
    color: #003366;
}
.top50 a {
    font-size: 1.4em;
    color: #003366;
}
.top100 a {
    font-size: 1.2em;
    color: #003366;
}

.heatmap {
    list-style:none;
    width: 95%;
    margin: 0px auto;
}

.heatmap a {
    text-decoration:none;
}

.heatmap a:hover {
    text-decoration:underline;
}

.heatmap li {
    display: inline;
}

.minitab {
padding: 3px 0px 3px 8px;
margin-left: 0;
margin-top: 1px;
margin-bottom: 0px;
border-bottom: 1px solid #3c78b5;
font: bold 9px Verdana, sans-serif;
text-decoration: none;
float:none;
}
.selectedminitab {
padding: 3px 0.5em;
margin-left: 3px;
margin-top: 1px;
border: 1px solid #3c78b5;
background: white;
border-bottom: 1px solid white;
color: #000000;
text-decoration: none;
}
.unselectedminitab {
padding: 3px 0.5em;
margin-left: 3px;
margin-top: 1px;
border: 1px solid #3c78b5;
border-bottom: none;
background: #3c78b5;
color: #ffffff;
text-decoration: none;
}

a.unselectedminitab:hover {
color: #ffffff;
background: #003366;
border-color: #003366;
}

a.unselectedminitab:link { color: white; }
a.unselectedminitab:visited { color: white; }

a.selectedminitab:link { color: black; }
a.selectedminitab:visited { color: black; }

.linkerror { background-color: #fcc;}

a.labelOperationLink:link {text-decoration: underline}
a.labelOperationLink:active {text-decoration: underline}
a.labelOperationLink:visited {text-decoration: underline}
a.labelOperationLink:hover {text-decoration: underline}

a.newLabel:link {background-color: #ddffdd}
a.newLabel:active {background-color: #ddffdd}
a.newLabel:visited {background-color: #ddffdd}
a.newLabel:hover {background-color: #ddffdd}

ul.square {list-style-type: square}

.inline-control-link {
    background: #ffc;
    font-size: 9px;
    color: #666;
    padding: 2px;
    text-transform: uppercase;
    text-decoration: none;
}


.inline-control-link a:link {text-decoration: none}
.inline-control-link a:active {text-decoration: none}
.inline-control-link a:visited {text-decoration: none}
.inline-control-link a:hover {text-decoration: none}

.inline-control-link {
    background: #ffc;
    font-size: 9px;
    color: #666;
    padding: 2px;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}

div.auto_complete {
    width: 350px;
    background: #fff;
}
div.auto_complete ul {
    border: 1px solid #888;
    margin: 0;
    padding: 0;
    width: 100%;
    list-style-type: none;
}
div.auto_complete ul li {
    margin: 0;
    padding: 3px;
}
div.auto_complete ul li.selected {
    background-color: #ffb;
}
div.auto_complete ul strong.highlight {
    color: #800;
    margin: 0;
    padding: 0;
}

/******* Edit Page Styles *******/
.toogleFormDiv{
    border:1px solid #A7A6AA;
    background-color:white;
    padding:5px;
    margin-top: 5px;
}

.toogleInfoDiv{
    border:1px solid #A7A6AA;
    background-color:white;
    display:none;
    padding:5px;
    margin-top: 10px;
}

.inputSection{
    margin-bottom:20px;
}

#editBox{
   border:1px solid lightgray;
   background-color:#F0F0F0;
}

/******* Left Navigation Theme Styles ********/
.leftnav li a {
    text-decoration:none;
    color:white;
    margin:0px;
    display:block;
    padding:2px;
    padding-left:5px;
    background-color: #3c78b5;
    border-top:1px solid #3c78b5;
}

.leftnav li a:active {color:white;}
.leftnav li a:visited {color:white;}
.leftnav li a:hover {background-color: #003366; color:white;}

/* Added by Shaun during i18n */
.replaced
{
    background-color: #33CC66;
}

.topPadding
{
    margin-top: 20px;
}

/* new form style */
.form-block {
    padding: 6px;
}
.form-error-block {
    padding: 6px;
    background: #fcc;
    border-top: #f0f0f0 1px solid;
    border-bottom: #f0f0f0 1px solid;
    margin-bottom: 6px;
    padding: 0 12px 0 12px;
}
.form-element-large {
    font-size: 16px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
}

.form-element-small {
    font-size: 12px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
}

.form-header {
    background: lightyellow;
    border-top: #f0f0f0 1px solid;
    border-bottom: #f0f0f0 1px solid;
    margin-bottom: 6px;
    padding: 0 12px 0 12px;
}
.form-header p, .form-block p, .form-error-block p {
    line-height: normal;
    margin: 12px 0 12px 0;
}
.form-example {
    color: #888;
    font-size: 11px;
}
.form-divider {
    border-bottom: #ccc 1px solid;
    margin-bottom: 6px;
}
.form-buttons {
    margin-top: 6px;
    border-top: #ccc 1px solid;
    border-bottom: #ccc 1px solid;
    background: #f0f0f0;
    padding: 10px;
    text-align: center;
}
.form-buttons input {
    width: 100px;
}
.form-block .error {
    padding: 6px;
    margin-bottom: 6px;
}
    -->
    </style>
</head>
<body>

<div id="PageContent">
<table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%"><tr>
<td valign="top" class="pagebody">

    <div class="pageheader">
        <span class="pagetitle">
            Page Edited :
            <a href="http://cwiki.apache.org/confluence/display/GMOxDOC22">GMOxDOC22</a> :
            <a href="http://cwiki.apache.org/confluence/display/GMOxDOC22/Creating+deployment+plans+using+the+deployment+plan+wizard">Creating deployment plans using the deployment plan wizard</a>
        </span>
    </div>

     <p>
        <a href="http://cwiki.apache.org/confluence/display/GMOxDOC22/Creating+deployment+plans+using+the+deployment+plan+wizard">Creating deployment plans using the deployment plan wizard</a>
        has been edited by             <a href="http://cwiki.apache.org/confluence/display/~sophia">Ying Tang</a>
            <span class="smallfont">(May 04, 2009)</span>.
     </p>
    
     <p>
                 <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=93293&originalVersion=46&revisedVersion=47">(View changes)</a>
     </p>

    <span class="label">Content:</span><br/>
    <div class="greybox wiki-content"><style type='text/css'>/*<![CDATA[*/
table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 3px;margin: 0px;background-color: #f0f0f0}
table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width: 16px;border: none;}
table.ScrollbarTable td.ScrollbarPrevName {text-align: left;border: none;}
table.ScrollbarTable td.ScrollbarParent {text-align: center;border: none;}
table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}

/*]]>*/</style><div class="Scrollbar"><table class='ScrollbarTable'><tr><td class='ScrollbarPrevIcon'><a href="/confluence/display/GMOxDOC22/Creating+deployment+plans+for+applications"><img border='0' align='middle' src='/confluence/images/icons/back_16.gif' width='16' height='16'></a></td><td width='33%' class='ScrollbarPrevName'><a href="/confluence/display/GMOxDOC22/Creating+deployment+plans+for+applications">Creating deployment plans for applications</a>&nbsp;</td><td width='33%' class='ScrollbarParent'><sup><a href="/confluence/display/GMOxDOC22/Creating+deployment+plans"><img border='0' align='middle' src='/confluence/images/icons/up_16.gif' width='8' height='8'></a></sup><a href="/confluence/display/GMOxDOC22/Creating+deployment+plans">Creating deployment plans</a></td><td width='33%' class='ScrollbarNextName'>&nbsp;<a href="/confluence/display/GMOxDOC22/Java+Persistence+API+deployment+plans">Java Persistence API deployment plans</a></td><td class='ScrollbarNextIcon'><a href="/confluence/display/GMOxDOC22/Java+Persistence+API+deployment+plans"><img border='0' align='middle' src='/confluence/images/icons/forwd_16.gif' width='16' height='16'></a></td></tr></table></div>
<p>To facilitate the creation of Geronimo-specific deployment plans there is a new portlet now available. The <b>Plan Creator</b> wizard available from the Geronimo Administrative Console makes deployment easier by walking you through a sequence of steps to auto-generate the <tt>geronimo-web.xml</tt> for a given <b>WAR</b> file.</p>

<p>The wizard searches the references declared in the <tt>web.xml</tt> as well as what is now defined within the code itself via annotations. Depending on the type of application the Plan Creator wizard will present a series of pages requesting specific information to resolve the references and dependencies. The wizard also offers default values which work for most of the configurations.</p>

<p>Depending on the type of application you are deploying, you may be presented with six separate pages to address the application's specific configuration. These pages are (in sequence):</p>

<ol>
	<li>Load WAR</li>
	<li>WAR - Environment</li>
	<li>WAR - References</li>
	<li>WAR - Security</li>
	<li>WAR - Dependencies</li>
	<li>Created Plan and Deploy WAR</li>
</ol>


<p>This document offers a series of different sample application so you can have a better understanding of how this wizard works. This document is organized in the following sections:</p>

<ul>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-Supportedfeatures" title="Supported features on Creating deployment plans using the deployment plan wizard">Supported features</a></li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-annotations" title="annotations on Creating deployment plans using the deployment plan wizard">Sample with annotations</a>
	<ul>
		<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jdbc" title="jdbc on Creating deployment plans using the deployment plan wizard">JDBC access</a></li>
		<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-ejb" title="ejb on Creating deployment plans using the deployment plan wizard">EJB access</a></li>
		<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jms" title="jms on Creating deployment plans using the deployment plan wizard">JMS access</a></li>
	</ul>
	</li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-noannotations" title="noannotations on Creating deployment plans using the deployment plan wizard">Sample without annotations</a>
	<ul>
		<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jdbc2" title="jdbc2 on Creating deployment plans using the deployment plan wizard">JDBC access</a></li>
		<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-ejb2" title="ejb2 on Creating deployment plans using the deployment plan wizard">EJB access</a></li>
		<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jms2" title="jms2 on Creating deployment plans using the deployment plan wizard">JMS access</a></li>
		<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-security2" title="security2 on Creating deployment plans using the deployment plan wizard">Security configuration</a></li>
	</ul>
	</li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-Attachments" title="Attachments on Creating deployment plans using the deployment plan wizard">Attachments</a></li>
</ul>


<h1><a name="Creatingdeploymentplansusingthedeploymentplanwizard-Supportedfeatures"></a>Supported features</h1>
<p>The <b>Plan Creator</b> wizard will help you generate the appropriate deployment plan for the application you are deploying. The wizard currently works for Web applications and supports the following features:</p>
<ul>
	<li><b>References</b>: EJB, EJB Local, JDBC Connection Pool, JMS Connection Factory, JMS Destination, JavaMail Session &amp; Web Service references declared in the Web applications are auto discovered and users are asked to resolve them by listing Available Resources in the server environment to which they can be linked.</li>
	<li>Above type of references declared inside the Java classes through <b>Annotations</b> are also auto discovered.</li>
	<li>Simplified configuration of <b>Security</b>.</li>
</ul>


<p>The following sections provide sample applications with different features so you can better appreciate the wizard behavior.</p>

<h1><a name="Creatingdeploymentplansusingthedeploymentplanwizard-Samplewithannotations"></a>Sample with annotations <a name="Creatingdeploymentplansusingthedeploymentplanwizard-annotations"></a></h1>

<p>There are four simple applications attached to give you a better idea of how the plan creator wizard would work when deploying Web applications.</p>
<ul>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jdbc" title="jdbc on Creating deployment plans using the deployment plan wizard">JDBC access</a></li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-ejb" title="ejb on Creating deployment plans using the deployment plan wizard">EJB access</a></li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jms" title="jms on Creating deployment plans using the deployment plan wizard">JMS access</a></li>
</ul>


<h2><a name="Creatingdeploymentplansusingthedeploymentplanwizard-JDBCaccess"></a>JDBC access <a name="Creatingdeploymentplansusingthedeploymentplanwizard-jdbc"></a></h2>

<p>This sample is a very simple database access application that uses annotations. For this example we have created a sample <b>BankDB</b> database on the embedded Derby as well as a database connection pool. Although we will not be covering in this section how to create a database or a connection pool we still provide in the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-Attachments" title="Attachments on Creating deployment plans using the deployment plan wizard">Attachments</a> section some SQL sample to generate the required sample database.</p>

<p>The <span class="nobr"><a href="/confluence/download/attachments/93293/Annotations-TestJDBCAccess.zip?version=1" title="Annotations-TestJDBCAccess.zip attached to Creating deployment plans using the deployment plan wizard">Annotations-TestJDBCAccess.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> file provides a <tt>BankDB.sql</tt>, <tt>WebAppJDBCAccessAnnotations.war</tt> which is the WAR we will be deploying and a sample of the generated deployment plan <tt>WebAppJDBCAccessAnnotations_generatedPlan.xml</tt>. Download and extract the zip file to a directory of your convenience.</p>

<p><tt>WebAppJDBCAccessAnnotations.war</tt> includes a Servlet, a JSP and a basic <tt>web.xml</tt>. The following excerpt shows the annotation part the wizard has identified and will likely be prompting for additional information while deploying the application.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Excerpt from ListCustomers.java</b></div><div class="codeContent">
<pre class="code-java">...
<span class="code-keyword">import</span> javax.annotation.Resource;
...

/**
 * Servlet implementation class <span class="code-keyword">for</span> Servlet: ListCustomers
 *
 */
 <span class="code-keyword">public</span> class ListCustomers <span class="code-keyword">extends</span> javax.servlet.http.HttpServlet <span class="code-keyword">implements</span> javax.servlet.Servlet {
	@Resource(name = <span class="code-quote">"jdbc/MyDataSource"</span>)
	<span class="code-keyword">private</span> DataSource dataSource;
...</pre>
</div></div>

<p>With the server up and running access the Geronimo Administrative Console with a Web browser and click on <b>Plan Creator</b> on the left menu.</p>

<p>Browse to the <tt>WebAppJDBCAccessAnnotations.war</tt> you just extracted and click on <b>Configure</b>. In the resulting screen you will be configuring the Web application identity. You may want to change the default proposed values however, for this example, we will be accepting the defaults. Click <b>Next</b>.</p>

<p>In the following screen, the wizard would have identified all WAR references that need to be resolved. The references listed on this screen are specific to this application. The <em>JDBCRef</em> column is showing the resource name defined in <tt>ListCustomers.java</tt>. See <tt>@Resource(name = "jdbc/MyDataSource")</tt> from the excerpt above.</p>

<p><img src="/confluence/download/attachments/93293/Annotations-TestJDBCAccess-Refs.jpg" align="absmiddle" border="0" /></p>

<p>As mentioned earlier, for this example we created a database connection pool we called <em>BankDB_Pool</em>. From the <b>JDBC Pools</b> pull-down menu you can now select the appropriate connection pool and click <b>Next</b>.</p>

<p>The following screen lists all available modules and allows you specify the modules this WAR has dependencies on. This screen also provides a default selection, in this case the database connection pool will be already selected. Accept the default and click <b>Next</b>. For most scenarios the default values should be sufficient.</p>

<p><img src="/confluence/download/attachments/93293/Annotations-TestJDBCAccess-Deps.jpg" align="absmiddle" border="0" /></p>

<p>The final configuration page displays the generated deployment plan and allows you to make any additional editing. The following example shows the generated deployment plan.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppJDBCAccessAnnotations<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>console.dbpool<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>BankDB_Pool<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>rar<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppJDBCAccessAnnotations<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:resource-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jdbc/MyDataSource<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>console.dbpool<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>BankDB_Pool<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>1.0<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>BankDB_Pool<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<p>The last step is to actually deploy and start the application, click on <b>Deploy WAR</b>.</p>

<p>You should receive two confirmation messages stating the application was successfully deployed and successfully started. The <b>Launch Web App</b> link takes your browser directly to the application you just deployed based on the context root you defined earlier. The <b>Finish</b> link takes you to the Plan Creator portlet again to start deploying a new application.</p>

<h2><a name="Creatingdeploymentplansusingthedeploymentplanwizard-EJBaccess"></a>EJB access <a name="Creatingdeploymentplansusingthedeploymentplanwizard-ejb"></a></h2>

<p>This sample is a simple Web application that accesses a Session EJB. It requires a JAR to be deployed before you can deploy the Web application. In the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-Attachments" title="Attachments on Creating deployment plans using the deployment plan wizard">Attachments</a> section we have included all the files you need to test the deployment of this sample application.</p>

<p>The <span class="nobr"><a href="/confluence/download/attachments/93293/Annotations-TestEJBAccess.zip?version=1" title="Annotations-TestEJBAccess.zip attached to Creating deployment plans using the deployment plan wizard">Annotations-TestEJBAccess.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> file provides the <tt>CurrencyConverterEJB.jar</tt> that needs to be deployed first, the <b><tt>WebAppEjbAccessAnnotations.war</tt></b> which is the WAR we will be deploying and a sample of the generated deployment plan <tt>WebAppEjbAccessAnnotations_generatedPlan.xml</tt>. Download and extract the zip file to a directory of your convenience.</p>

<p>With the server up and running access the Geronimo Administration Console with a Web browser and click on <b>Deploy New</b> on the left menu. We will now deploy the WAR prerequisite JAR file.</p>

<p>On the <b>Archive:</b> field browse to the <tt>CurrencyConverterEJB.jar</tt> file you just extracted and click <b>Install</b>, this will install and start the JAR. You can verify the status of this JAR by clicking on <b>EJB JARs</b> link from the menu on the left. It should display something like this:</p>

<p><img src="/confluence/download/attachments/93293/Annotations-TestEJBAccess-PreReq.jpg" align="absmiddle" border="0" /></p>

<p><b><tt>WebAppEjbAccessAnnotations.war</tt></b> includes a Servlet, a JSP and a basic <tt>web.xml</tt>. The following excerpt shows the annotation part the wizard has identified and will likely be prompting for additional information while deploying the application.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Excerpt from ConverterHandler.java</b></div><div class="codeContent">
<pre class="code-java">...
<span class="code-keyword">public</span> class ConverterHandler <span class="code-keyword">extends</span> javax.servlet.http.HttpServlet <span class="code-keyword">implements</span>
		javax.servlet.Servlet {
	@EJB(name = <span class="code-quote">"ejb/Converter"</span>)
	<span class="code-keyword">private</span> Converter converter;
...</pre>
</div></div>

<p>With the prerequisite JAR just installed click on <b>Plan Creator</b> on the left menu to proceed with the WAR installation. Browse to the <tt>WebAppEjbAccessAnnotations.war</tt> you just extracted and click on <b>Configure</b>. In the resulting screen you will be configuring the Web application identity. You may want to change the default proposed values however, for this example, we will be accepting the defaults. Click <b>Next</b>.</p>

<p>In the following screen, the wizard would have identified all WAR references that need to be resolved. The references listed on this screen are specific to this application. The <b>EJBRef</b> column is showing the resource name defined in <tt>ConverterHandler.java</tt>. See <b><tt>@EJB(name = "ejb/Converter")</tt></b> from the excerpt above.</p>

<p>From the <b>EJBs Deployed</b> pull-down menu select the JAR you deployed earlier <b><tt>ConverterBean (default/CurrencyConverterEJB/1199912901187/jar)</tt></b> and click <b>Next</b>.</p>

<p><img src="/confluence/download/attachments/93293/Annotations-TestEJBAccess-Refs.jpg" align="absmiddle" border="0" /></p>

<p>The following screen list all available modules and allows you specify additional modules this WAR has dependencies on. This screen also provides a default selection, in this case the EJB JAR you deployed previously will be already selected. Accept the default and click <b>Next</b>. For most scenarios the default values should be sufficient.</p>

<p><img src="/confluence/download/attachments/93293/Annotations-TestEJBAccess-Deps.jpg" align="absmiddle" border="0" /></p>

<p>The final configuration page displays the generated deployment plan and allows you to make any additional editing. The following example shows the generated deployment plan.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppEjbAccessAnnotations<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>CurrencyConverterEJB<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>1199912901187<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>jar<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppEjbAccessAnnotations<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:ejb-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>ejb/Converter<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>default<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>CurrencyConverterEJB<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>1199912901187<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>ConverterBean<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:ejb-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<p>The last step is to actually deploy and start the application, click on <b>Deploy WAR</b>.</p>

<p>You should receive two confirmation messages stating the application was successfully deployed and successfully started. The <b>Launch Web App</b> link takes your browser directly to the application you just deployed based on the context root you defined earlier. <b>Finish</b> takes you to the Plan Creator portlet again to start deploying a new application.</p>

<h2><a name="Creatingdeploymentplansusingthedeploymentplanwizard-JMSaccess"></a>JMS access <a name="Creatingdeploymentplansusingthedeploymentplanwizard-jms"></a></h2>
<p>This is a simple Web application that accesses a JMS Connection Factory and a JMS destination. <b>Producer</b> servlet sends 5 messages to a JMS queue and the <b>Consumer</b> servlet synchronously receives messages from the same queue.</p>

<p>The <span class="nobr"><a href="/confluence/download/attachments/93293/Annotations-TestJMSAccess.zip?version=1" title="Annotations-TestJMSAccess.zip attached to Creating deployment plans using the deployment plan wizard">Annotations-TestJMSAccess.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> file provides the <b><tt>WebAppJMSAccessAnnotations.war</tt></b> which is the WAR we will be deploying and a sample of the generated deployment plan <tt>WebAppJMSAccessAnnotations_generatedPlan.xml</tt>. Download and extract the zip file to a directory of your convenience.</p>

<p><b><tt>WebAppJMSAccessAnnotations.war</tt></b> includes the two Servlets mentioned above, a JSP and a basic web.xml. The following excerpts show the annotation part the wizard has identified and will likely be prompting for additional information while deploying the application.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Excerpt from ProducerServlet.java</b></div><div class="codeContent">
<pre class="code-java">...
/**
 * Servlet implementation class <span class="code-keyword">for</span> Servlet: ProducerServlet
 *
 */
 <span class="code-keyword">public</span> class ProducerServlet <span class="code-keyword">extends</span> javax.servlet.http.HttpServlet <span class="code-keyword">implements</span> javax.servlet.Servlet {
	@Resource(name=<span class="code-quote">"jms/TestConnectionFactory"</span>)
	<span class="code-keyword">private</span> ConnectionFactory connectionFactory; 
	
	@Resource(name=<span class="code-quote">"jms/TestQueue"</span>)
	<span class="code-keyword">private</span> Queue queue;
...</pre>
</div></div>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Excerpt from ConsumerServlet.java</b></div><div class="codeContent">
<pre class="code-java">...
/**
 * Servlet implementation class <span class="code-keyword">for</span> Servlet: ConsumerServlet
 *
 */
 <span class="code-keyword">public</span> class ConsumerServlet <span class="code-keyword">extends</span> javax.servlet.http.HttpServlet <span class="code-keyword">implements</span> javax.servlet.Servlet {
	@Resource(name=<span class="code-quote">"jms/TestConnectionFactory"</span>)
	<span class="code-keyword">private</span> ConnectionFactory connectionFactory; 
	
	@Resource(name=<span class="code-quote">"jms/TestQueue"</span>)
	<span class="code-keyword">private</span> Queue queue;
...</pre>
</div></div>

<p>With the server up and running access the Geronimo Administration Console with a web browser and click on <b>Plan Creator</b> on the left menu.</p>

<p>Browse to the <tt>WebAppJMSAccessAnnotations.war</tt> you just extracted and click on <b>Configure</b>. In the resulting screen you will be configuring the web application identity. You may want to change the default proposed values however, for this example, we will be accepting the defaults. Click <b>Next</b>.</p>

<p>In the following screen, the wizard would have identified all WAR references that need to be resolved. The references listed on this screen are specific to this application. The <b>JMS Ref</b> column is showing the resource names defined in the servlets shown above. See <b><tt>@Resource(name="jms/TestConnectionFactory")</tt></b> and <b><tt>@Resource(name="jms/TestQueue")</tt></b>. The following image shows the factories and destinations already defined in Geronimo, you may want to define your own factories and destinations for your application specifically before running this wizard. For this example we will just accept the defaults and click <b>Next</b>.</p>

<p><img src="/confluence/download/attachments/93293/Annotations-TestJMSAccess-Refs.jpg" align="absmiddle" border="0" /></p>

<p>The following screen list all available modules and allows you specify the modules this WAR has dependencies on. This screen also provides a default selection, in this case the database connection pool will be already selected. Accept the default and click <b>Next</b>. For most scenarios the default values should be sufficient.</p>

<p><img src="/confluence/download/attachments/93293/Annotations-TestJMSAccess-Deps.jpg" align="absmiddle" border="0" /></p>

<p>The final configuration page displays the generated deployment plan and allows you to make any additional editing. The following example shows the generated deployment plan.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppJMSAccessAnnotations<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>car<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppJMSAccessAnnotations<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:resource-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jms/TestConnectionFactory<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>DefaultActiveMQConnectionFactory<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-ref&gt;</span>
    <span class="code-tag">&lt;nam:resource-env-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jms/TestQueue<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>MDBTransferBeanOutQueue<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-env-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<p>The last step is to actually deploy and start the application, click on <b>Deploy WAR</b>.</p>

<p>You should receive two confirmation messages stating the application was successfully deployed and successfully started. The <b>Launch Web App</b> link takes your browser directly to the application you just deployed based on the context root you defined earlier. <b>Finish</b> takes you to the Plan Creator portlet again to start deploying a new application.</p>

<p>So far we have shown you how easy is to deploy a web application when using annotations. The following section focuses on applications not using annotations, this is mainly for applications based on the previous J2EE specification.</p>

<h1><a name="Creatingdeploymentplansusingthedeploymentplanwizard-Samplewithoutannotations"></a>Sample without annotations <a name="Creatingdeploymentplansusingthedeploymentplanwizard-noannotations"></a></h1>
<p>To make it easier to compare we are providing a similar set of applications as in the previous section(JDBC, EJB and JMS) but without the advantage of using annotations. In addition we are also including a security configuration application to cover the additional functionality we didn't cover in the previous section.</p>

<ul>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jdbc2" title="jdbc2 on Creating deployment plans using the deployment plan wizard">JDBC access</a></li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-ejb2" title="ejb2 on Creating deployment plans using the deployment plan wizard">EJB access</a></li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-jms2" title="jms2 on Creating deployment plans using the deployment plan wizard">JMS access</a></li>
	<li><a href="#Creatingdeploymentplansusingthedeploymentplanwizard-security2" title="security2 on Creating deployment plans using the deployment plan wizard">Security configuration</a></li>
</ul>


<h2><a name="Creatingdeploymentplansusingthedeploymentplanwizard-JDBCaccess"></a>JDBC access <a name="Creatingdeploymentplansusingthedeploymentplanwizard-jdbc2"></a></h2>
<p>This is basically the same sample application we used in the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-annotations" title="annotations on Creating deployment plans using the deployment plan wizard">Sample with annotations</a> section, but obviously without annotations. Once again for this example we created a sample database and a connection pool. However, the emphasis of this section is on the <b>web.xml</b> file which contains the resource reference required for this application to run.</p>

<p>The <span class="nobr"><a href="/confluence/download/attachments/93293/noAnnotations-TestJDBCAccess.zip?version=1" title="noAnnotations-TestJDBCAccess.zip attached to Creating deployment plans using the deployment plan wizard">noAnnotations-TestJDBCAccess.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> file provides a <tt>BankDB.sql</tt>, <b><tt>WebAppJDBCAccess.war</tt></b> which is the WAR we will be deploying and a sample of the generated deployment plan <tt>generatedPlan.xml</tt>. Download and extract the zip file to a directory of your convenience.</p>

<p><b><tt>WebAppJDBCAccess.war</tt></b> includes a Servlet, a JSP and <tt>web.xml</tt>. The following sample illustrates the <tt>web.xml</tt>, in this example the Plan Creator wizard will look into the <b><tt>&lt;resource-ref&gt;</tt></b> section.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>web.xml</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
&lt;web-app <span class="code-keyword">xmlns:xsi</span>=<span class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span> xmlns=<span class="code-quote">"http://java.sun.com/xml/ns/javaee"</span>
               <span class="code-keyword">xmlns:web</span>=<span class="code-quote">"http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</span> 
	       xsi:schemaLocation=<span class="code-quote">"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</span> 
	       id=<span class="code-quote">"WebApp_ID"</span> version=<span class="code-quote">"2.5"</span>&gt;
  <span class="code-tag">&lt;servlet&gt;</span>
    <span class="code-tag">&lt;description&gt;</span><span class="code-tag">&lt;/description&gt;</span>
    <span class="code-tag">&lt;display-name&gt;</span>ListCustomers<span class="code-tag">&lt;/display-name&gt;</span>
    <span class="code-tag">&lt;servlet-name&gt;</span>ListCustomers<span class="code-tag">&lt;/servlet-name&gt;</span>
    <span class="code-tag">&lt;servlet-class&gt;</span>myPackage.ListCustomers<span class="code-tag">&lt;/servlet-class&gt;</span>
  <span class="code-tag">&lt;/servlet&gt;</span>
  <span class="code-tag">&lt;servlet-mapping&gt;</span>
    <span class="code-tag">&lt;servlet-name&gt;</span>ListCustomers<span class="code-tag">&lt;/servlet-name&gt;</span>
    <span class="code-tag">&lt;url-pattern&gt;</span>/listCustomers<span class="code-tag">&lt;/url-pattern&gt;</span>
  <span class="code-tag">&lt;/servlet-mapping&gt;</span>
  <span class="code-tag">&lt;resource-ref&gt;</span>
  	<span class="code-tag">&lt;res-ref-name&gt;</span>jdbc/MyDataSource<span class="code-tag">&lt;/res-ref-name&gt;</span>
  	<span class="code-tag">&lt;res-type&gt;</span>javax.sql.DataSource<span class="code-tag">&lt;/res-type&gt;</span>
  	<span class="code-tag">&lt;res-auth&gt;</span>Container<span class="code-tag">&lt;/res-auth&gt;</span>
  	<span class="code-tag">&lt;res-sharing-scope&gt;</span>Shareable<span class="code-tag">&lt;/res-sharing-scope&gt;</span>
  <span class="code-tag">&lt;/resource-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<p>With the server up and running access the Geronimo Administration Console with a web browser and click on <b>Plan Creator</b> on the left menu. Browse to the <tt>WebAppJDBCAccess.war</tt> you just extracted and click on <b>Configure</b>. The subsequent configuration pages are identical to what we described in the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-annotations" title="annotations on Creating deployment plans using the deployment plan wizard">Sample with annotations</a> section so we will skip the step-by-steps details. The end result is the same, the Plan Creator wizard has generated the deployment plan directly from the provided <b>web.xml</b>. To facilitate comparison we are providing both generated deployment plans side-by-side, note that only the <b><tt>&lt;artifactId&gt;</tt></b> and <b><tt>&lt;context-root&gt;</tt></b> are different in order to make these applications unique when deployed on the same server.</p>

<table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr>
<td class="confluenceTd"  valign="top" width="50%">
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan without Annotations</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppJDBCAccess<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>console.dbpool<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>BankDB_Pool<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>rar<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppJDBCAccess<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:resource-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jdbc/MyDataSource<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>console.dbpool<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>BankDB_Pool<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>1.0<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>BankDB_Pool<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div></td>
<td class="confluenceTd"  valign="top" width="50%">
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan with Annotations</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppJDBCAccessAnnotations<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>console.dbpool<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>BankDB_Pool<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>rar<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppJDBCAccessAnnotations<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:resource-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jdbc/MyDataSource<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>console.dbpool<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>BankDB_Pool<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>1.0<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>BankDB_Pool<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div></td></tr></tbody></table>

<h2><a name="Creatingdeploymentplansusingthedeploymentplanwizard-EJBaccess"></a>EJB access <a name="Creatingdeploymentplansusingthedeploymentplanwizard-ejb2"></a></h2>
<p>This example is based on the same sample application we used in the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-annotations" title="annotations on Creating deployment plans using the deployment plan wizard">Sample with annotations</a> section but without annotations. In the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-Attachments" title="Attachments on Creating deployment plans using the deployment plan wizard">Attachments</a> section we have included all the files you need to test the deployment of this sample application. </p>

<p>The <span class="nobr"><a href="/confluence/download/attachments/93293/noAnnotations-TestEJBAccess.zip?version=1" title="noAnnotations-TestEJBAccess.zip attached to Creating deployment plans using the deployment plan wizard">noAnnotations-TestEJBAccess.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> file provides the <tt>CurrencyConverterEJB.jar</tt> that needs to be deployed first, the <b><tt>WebAppEjbAccess.war</tt></b> which is the WAR we will be deploying and a sample of the generated deployment plan <tt>generatedPlan.xml</tt>. Download and extract the zip file to a directory of your convenience.</p>

<p><b><tt>WebAppEjbAccess.war</tt></b> includes a Servlet and the <tt>web.xml</tt>. In the annotations example we provided a servlet as well but for this sample all the processing is done directly by the JSP. The following sample illustrates the <tt>web.xml</tt>, in this example the Plan Creator wizard will look into the <b><tt>&lt;ejb-ref&gt;</tt></b> section.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>web.xml</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
&lt;web-app id=<span class="code-quote">"WebApp_ID"</span> version=<span class="code-quote">"2.5"</span>
	xmlns=<span class="code-quote">"http://java.sun.com/xml/ns/javaee"</span>
	<span class="code-keyword">xmlns:xsi</span>=<span class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span>
	xsi:schemaLocation=<span class="code-quote">"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</span>&gt;
	<span class="code-tag">&lt;ejb-ref&gt;</span>
		<span class="code-tag">&lt;ejb-ref-name&gt;</span>ejb/Converter<span class="code-tag">&lt;/ejb-ref-name&gt;</span>
		<span class="code-tag">&lt;ejb-ref-type&gt;</span>Session<span class="code-tag">&lt;/ejb-ref-type&gt;</span>
		<span class="code-tag">&lt;remote&gt;</span>myPackage.Converter<span class="code-tag">&lt;/remote&gt;</span>
	<span class="code-tag">&lt;/ejb-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<p><b><tt>WebAppEjbAccess.war</tt></b> requires you deploy the EJB JAR first. If you have not done some while testing the annotation samples make sure you deploy it now. With the server up and running access the Geronimo Administration Console with a web browser and click on <b>Deploy New</b> on the left menu. On the <b>Archive:</b> field browse to the <tt>CurrencyConverterEJB.jar</tt> file you just extracted and click <b>Install</b>, this will install and start the JAR.</p>

<p>After you installed the required EJB JAR click on <b>Plan Creator</b> on the left menu. Browse to the <tt>WebAppEjbAccess.war</tt> you just extracted and click on <b>Configure</b>. The subsequent configuration pages are identical to what we described in the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-annotations" title="annotations on Creating deployment plans using the deployment plan wizard">Sample with annotations</a> section so we will skip the step-by-steps details. The end result is the same, the Plan Creator wizard has generated the deployment plan directly from the provided <b>web.xml</b>. To facilitate comparison we are providing both generated deployment plans side-by-side, note that only the <b><tt>&lt;artifactId&gt;</tt></b> and <b><tt>&lt;context-root&gt;</tt></b> are different in order to make these applications unique when deployed on the same server.</p>

<table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr>
<td class="confluenceTd"  valign="top" width="50%">
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan without Annotations</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppEjbAccess<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>CurrencyConverterEJB<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>1199912901187<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>jar<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppEjbAccess<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:ejb-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>ejb/Converter<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>default<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>CurrencyConverterEJB<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>1199912901187<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>ConverterBean<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:ejb-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div></td>
<td class="confluenceTd"  valign="top" width="50%">
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan with Annotations</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppEjbAccessAnnotations<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>CurrencyConverterEJB<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>1199912901187<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>jar<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppEjbAccessAnnotations<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:ejb-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>ejb/Converter<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>default<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>CurrencyConverterEJB<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>1199912901187<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>ConverterBean<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:ejb-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div></td></tr></tbody></table>

<h2><a name="Creatingdeploymentplansusingthedeploymentplanwizard-JMSaccess"></a>JMS access <a name="Creatingdeploymentplansusingthedeploymentplanwizard-jms2"></a></h2>
<p>Once again we are basing this sample application from the one we used in the annotations section. There is a <b>Producer</b> servlet that sends 5 messages to a JMS queue and a <b>Consumer</b> servlet that synchronously receives messages from the same queue.</p>

<p>The <span class="nobr"><a href="/confluence/download/attachments/93293/noAnnotations-TestJMSAccess.zip?version=1" title="noAnnotations-TestJMSAccess.zip attached to Creating deployment plans using the deployment plan wizard">noAnnotations-TestJMSAccess.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> file provides the <b><tt>WebAppJMSAccess.war</tt></b> which is the WAR we will be deploying and a sample of the generated deployment plan <tt>generatedPlan.xml</tt>. Download and extract the zip file to a directory of your convenience.</p>

<p><b><tt>WebAppJMSAccess.war</tt></b> includes the two Servlets mentioned above, a JSP and the <tt>web.xml</tt>. The following sample illustrates the <tt>web.xml</tt>, in this example the Plan Creator wizard will look into the <b><tt>&lt;resource-ref&gt;</tt></b>,<b><tt>&lt;message-destination-ref&gt;</tt></b> and <b><tt>&lt;message-destination&gt;</tt></b> sections.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>web.xml</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
&lt;web-app id=<span class="code-quote">"WebApp_ID"</span> version=<span class="code-quote">"2.4"</span> xmlns=<span class="code-quote">"http://java.sun.com/xml/ns/j2ee"</span> 
         <span class="code-keyword">xmlns:xsi</span>=<span class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span> 
	 xsi:schemaLocation=<span class="code-quote">"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span>&gt;
	<span class="code-tag">&lt;display-name&gt;</span>
	WebAppJMSAccess<span class="code-tag">&lt;/display-name&gt;</span>
	<span class="code-tag">&lt;servlet&gt;</span>
		<span class="code-tag">&lt;description&gt;</span>
		<span class="code-tag">&lt;/description&gt;</span>
		<span class="code-tag">&lt;display-name&gt;</span>
		ProducerServlet<span class="code-tag">&lt;/display-name&gt;</span>
		<span class="code-tag">&lt;servlet-name&gt;</span>ProducerServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
		<span class="code-tag">&lt;servlet-class&gt;</span>
		com.apache.geronimo.samples.webAppJMSacess.ProducerServlet<span class="code-tag">&lt;/servlet-class&gt;</span>
	<span class="code-tag">&lt;/servlet&gt;</span>
	<span class="code-tag">&lt;servlet&gt;</span>
		<span class="code-tag">&lt;description&gt;</span>
		<span class="code-tag">&lt;/description&gt;</span>
		<span class="code-tag">&lt;display-name&gt;</span>
		ConsumerServlet<span class="code-tag">&lt;/display-name&gt;</span>
		<span class="code-tag">&lt;servlet-name&gt;</span>ConsumerServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
		<span class="code-tag">&lt;servlet-class&gt;</span>
		com.apache.geronimo.samples.webAppJMSacess.ConsumerServlet<span class="code-tag">&lt;/servlet-class&gt;</span>
	<span class="code-tag">&lt;/servlet&gt;</span>
	<span class="code-tag">&lt;servlet-mapping&gt;</span>
		<span class="code-tag">&lt;servlet-name&gt;</span>ProducerServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
		<span class="code-tag">&lt;url-pattern&gt;</span>/producer<span class="code-tag">&lt;/url-pattern&gt;</span>
	<span class="code-tag">&lt;/servlet-mapping&gt;</span>
	<span class="code-tag">&lt;servlet-mapping&gt;</span>
		<span class="code-tag">&lt;servlet-name&gt;</span>ConsumerServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
		<span class="code-tag">&lt;url-pattern&gt;</span>/consumer<span class="code-tag">&lt;/url-pattern&gt;</span>
	<span class="code-tag">&lt;/servlet-mapping&gt;</span>
	<span class="code-tag">&lt;welcome-file-list&gt;</span>
		<span class="code-tag">&lt;welcome-file&gt;</span>index.html<span class="code-tag">&lt;/welcome-file&gt;</span>
		<span class="code-tag">&lt;welcome-file&gt;</span>index.htm<span class="code-tag">&lt;/welcome-file&gt;</span>
		<span class="code-tag">&lt;welcome-file&gt;</span>index.jsp<span class="code-tag">&lt;/welcome-file&gt;</span>
		<span class="code-tag">&lt;welcome-file&gt;</span>default.html<span class="code-tag">&lt;/welcome-file&gt;</span>
		<span class="code-tag">&lt;welcome-file&gt;</span>default.htm<span class="code-tag">&lt;/welcome-file&gt;</span>
		<span class="code-tag">&lt;welcome-file&gt;</span>default.jsp<span class="code-tag">&lt;/welcome-file&gt;</span>
	<span class="code-tag">&lt;/welcome-file-list&gt;</span>
	<span class="code-tag">&lt;resource-ref&gt;</span>
		<span class="code-tag">&lt;res-ref-name&gt;</span>jms/TestConnectionFactory<span class="code-tag">&lt;/res-ref-name&gt;</span>
		<span class="code-tag">&lt;res-type&gt;</span>javax.jms.ConnectionFactory<span class="code-tag">&lt;/res-type&gt;</span>
		<span class="code-tag">&lt;res-auth&gt;</span>Container<span class="code-tag">&lt;/res-auth&gt;</span>
		<span class="code-tag">&lt;res-sharing-scope&gt;</span>Shareable<span class="code-tag">&lt;/res-sharing-scope&gt;</span>
	<span class="code-tag">&lt;/resource-ref&gt;</span>
	<span class="code-tag">&lt;message-destination-ref&gt;</span>
		<span class="code-tag">&lt;message-destination-ref-name&gt;</span>jms/TestQueue<span class="code-tag">&lt;/message-destination-ref-name&gt;</span>
		<span class="code-tag">&lt;message-destination-type&gt;</span>javax.jms.Queue<span class="code-tag">&lt;/message-destination-type&gt;</span>
		<span class="code-tag">&lt;message-destination-usage&gt;</span>ConsumesProduces<span class="code-tag">&lt;/message-destination-usage&gt;</span>
		<span class="code-tag">&lt;message-destination-link&gt;</span>TestQueue<span class="code-tag">&lt;/message-destination-link&gt;</span>
	<span class="code-tag">&lt;/message-destination-ref&gt;</span>
	<span class="code-tag">&lt;message-destination&gt;</span>
		<span class="code-tag">&lt;message-destination-name&gt;</span>TestQueue<span class="code-tag">&lt;/message-destination-name&gt;</span>
	<span class="code-tag">&lt;/message-destination&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<p>With the server up and running access the Geronimo Administrative Console with a Web browser and click on <b>Plan Creator</b> on the left menu. Browse to the <tt>WebAppJMSAccess.war</tt> you just extracted and click on <b>Configure</b>. The subsequent configuration pages are nearly identical to what we described in the <a href="#Creatingdeploymentplansusingthedeploymentplanwizard-annotations" title="annotations on Creating deployment plans using the deployment plan wizard">Sample with annotations</a> section so we will skip the step-by-steps details. The end result is the same, the Plan Creator wizard has generated the deployment plan directly from the provided <tt>web.xml</tt>. </p>

<p>Once again we are providing both generated deployment plans side-by-side to facilitate comparison. These two sample applications are slightly different so you can see some additional variations in the generated deployment plan.</p>

<table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr>
<td class="confluenceTd"  valign="top" width="50%">
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan without Annotations</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppJMSAccess<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>car<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppJMSAccess<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:resource-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jms/TestConnectionFactory<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>DefaultActiveMQConnectionFactory<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-ref&gt;</span>
    <span class="code-tag">&lt;nam:message-destination <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:message-destination-name&gt;</span>TestQueue<span class="code-tag">&lt;/nam:message-destination-name&gt;</span>
        <span class="code-tag">&lt;nam:admin-object-link&gt;</span>MDBTransferBeanOutQueue<span class="code-tag">&lt;/nam:admin-object-link&gt;</span>
    <span class="code-tag">&lt;/nam:message-destination&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div></td>
<td class="confluenceTd"  valign="top" width="50%">
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan with Annotations</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>WebAppJMSAccessAnnotations<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
        <span class="code-tag">&lt;dep:dependencies&gt;</span>
            <span class="code-tag">&lt;dep:dependency&gt;</span>
                <span class="code-tag">&lt;dep:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/dep:groupId&gt;</span>
                <span class="code-tag">&lt;dep:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/dep:artifactId&gt;</span>
                <span class="code-tag">&lt;dep:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/dep:version&gt;</span>
                <span class="code-tag">&lt;dep:type&gt;</span>car<span class="code-tag">&lt;/dep:type&gt;</span>
            <span class="code-tag">&lt;/dep:dependency&gt;</span>
        <span class="code-tag">&lt;/dep:dependencies&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>WebAppJMSAccessAnnotations<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;nam:resource-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jms/TestConnectionFactory<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>DefaultActiveMQConnectionFactory<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-ref&gt;</span>
    <span class="code-tag">&lt;nam:resource-env-ref <span class="code-keyword">xmlns:nam</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;nam:ref-name&gt;</span>jms/TestQueue<span class="code-tag">&lt;/nam:ref-name&gt;</span>
        <span class="code-tag">&lt;nam:pattern&gt;</span>
            <span class="code-tag">&lt;nam:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/nam:groupId&gt;</span>
            <span class="code-tag">&lt;nam:artifactId&gt;</span>activemq-ra<span class="code-tag">&lt;/nam:artifactId&gt;</span>
            <span class="code-tag">&lt;nam:version&gt;</span>2.1-SNAPSHOT<span class="code-tag">&lt;/nam:version&gt;</span>
            <span class="code-tag">&lt;nam:name&gt;</span>MDBTransferBeanOutQueue<span class="code-tag">&lt;/nam:name&gt;</span>
        <span class="code-tag">&lt;/nam:pattern&gt;</span>
    <span class="code-tag">&lt;/nam:resource-env-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div></td></tr></tbody></table>

<h2><a name="Creatingdeploymentplansusingthedeploymentplanwizard-Securityconfiguration"></a>Security configuration <a name="Creatingdeploymentplansusingthedeploymentplanwizard-security2"></a></h2>
<p>This sample application is a basic time reporting system that uses Servlets, JSPs and Java EE declarative security. In addition to above features it uses Geronimo's embedded Derby database to store user information of the system. Even though this application uses a database to hold user information, it is merely for configuration purposes. This sample application is a slight variation from the one covered in <a href="/confluence/display/GMOxDOC20" title="View Apache Geronimo v2.0 space">Geronimo v2.0 Documentation</a>. The focus of this document is on the Plan Creator wizard so we will not cover in much detail this application's inner working, please refer to <a href="/confluence/display/GMOxDOC20/Web+application+security+sample" title="Web application security sample">Web application security sample</a> for further details.</p>

<p>The <span class="nobr"><a href="/confluence/download/attachments/93293/noAnnotations-TestSecuritySettings.zip?version=1" title="noAnnotations-TestSecuritySettings.zip attached to Creating deployment plans using the deployment plan wizard">noAnnotations-TestSecuritySettings.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> provides a number of SQL scripts and deployment plans to facilitate set up the environment the security sample application requires to run. The provided files are <tt>1_TimeReportDB.sql</tt>, <tt>2_dbPoolPlan.xml</tt>, <tt>3_securityRealmPlan.xml</tt>. In addition there is a <tt>0_Readme.txt</tt> which is a condensed set of intructions to deploy this sample application, <tt>timereport.war</tt> which is the application we will be deploying and a sample of the generated deployment plan <tt>timereport_generatedPlan.xml</tt>. Download and extract the zip file to a directory of your convenience.</p>

<p>Before we continue with the security application itself we need to create some additional configurations using the provided plans.</p>

<ol>
	<li>With the server up and running access the Geronimo Administrative Console and click on <b>DB Manager</b>. Create a database by name <em>TimeReportDB</em> and run <tt>1_TimeReportDB.sql</tt> on this new database.</li>
	<li>Create a database connection pool by clicking on <b>Deploy New</b> and specify <tt>&lt;geronimo_home&gt;\repository\org\tranql\tranql-connector-ra\1.3\tranql-connector-ra-1.3.rar</tt> as the <em>Archive:</em> and <tt>2_dbPoolPlan.xml</tt> as the <em>Plan</em>. This will create the new database pool <b>TimeReportPool</b>.</li>
	<li>Create a new security realm by clickin on <b>Deploy New</b> and only specify <tt>3_securityRealmPlan.xml</tt> as the <em>Plan</em>. This will create the <b>TimeReportRealm</b> security realm.</li>
</ol>


<p>Now that we have configured the environment we go back to the application. <tt>timereport.war</tt> provides 2 Servlets, several JSPs and the <tt>web.xml</tt> we will be focusing on. In addition this WAR contains the sources and full java docs. The following sample illustrates the <tt>web.xml</tt>, here are defined all the security constraints, realms and roles the Plan Creator wizard will use to generate the Geronimo specific deployment plan.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>web.xml</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
&lt;web-app xmlns=<span class="code-quote">"http://java.sun.com/xml/ns/j2ee"</span>
	 <span class="code-keyword">xmlns:xsi</span>=<span class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span>
	 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
	 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
	 version=<span class="code-quote">"2.4"</span>&gt;	
	 
	<span class="code-tag">&lt;welcome-file-list&gt;</span>
		<span class="code-tag">&lt;welcome-file&gt;</span>index.html<span class="code-tag">&lt;/welcome-file&gt;</span>
  	<span class="code-tag">&lt;/welcome-file-list&gt;</span>
  	
	<span class="code-tag">&lt;security-constraint&gt;</span>
		<span class="code-tag">&lt;web-resource-collection&gt;</span>
			<span class="code-tag">&lt;web-resource-name&gt;</span>employee<span class="code-tag">&lt;/web-resource-name&gt;</span>
			<span class="code-tag">&lt;url-pattern&gt;</span>/employee/*<span class="code-tag">&lt;/url-pattern&gt;</span>			
		<span class="code-tag">&lt;/web-resource-collection&gt;</span>
		<span class="code-tag">&lt;auth-constraint&gt;</span>
			<span class="code-tag">&lt;role-name&gt;</span>employee<span class="code-tag">&lt;/role-name&gt;</span>			 
		<span class="code-tag">&lt;/auth-constraint&gt;</span>
	<span class="code-tag">&lt;/security-constraint&gt;</span>
	
	<span class="code-tag">&lt;security-constraint&gt;</span>
		<span class="code-tag">&lt;web-resource-collection&gt;</span>
			<span class="code-tag">&lt;web-resource-name&gt;</span>manager<span class="code-tag">&lt;/web-resource-name&gt;</span>
			<span class="code-tag">&lt;url-pattern&gt;</span>/manager/*<span class="code-tag">&lt;/url-pattern&gt;</span>			
		<span class="code-tag">&lt;/web-resource-collection&gt;</span>
		<span class="code-tag">&lt;auth-constraint&gt;</span>
			<span class="code-tag">&lt;role-name&gt;</span>manager<span class="code-tag">&lt;/role-name&gt;</span>
		<span class="code-tag">&lt;/auth-constraint&gt;</span>
	<span class="code-tag">&lt;/security-constraint&gt;</span>
	
	<span class="code-tag">&lt;login-config&gt;</span>
		<span class="code-tag">&lt;auth-method&gt;</span>FORM<span class="code-tag">&lt;/auth-method&gt;</span>
		<span class="code-tag">&lt;realm-name&gt;</span>TimeReportRealm<span class="code-tag">&lt;/realm-name&gt;</span>
		<span class="code-tag">&lt;form-login-config&gt;</span>
			<span class="code-tag">&lt;form-login-page&gt;</span>/login/login.jsp<span class="code-tag">&lt;/form-login-page&gt;</span>
			<span class="code-tag">&lt;form-error-page&gt;</span>/login/login_error.jsp<span class="code-tag">&lt;/form-error-page&gt;</span>
		<span class="code-tag">&lt;/form-login-config&gt;</span>
	<span class="code-tag">&lt;/login-config&gt;</span>
	
	<span class="code-tag">&lt;security-role&gt;</span>
		<span class="code-tag">&lt;role-name&gt;</span>employee<span class="code-tag">&lt;/role-name&gt;</span>		
    <span class="code-tag">&lt;/security-role&gt;</span>
	<span class="code-tag">&lt;security-role&gt;</span>
		<span class="code-tag">&lt;role-name&gt;</span>manager<span class="code-tag">&lt;/role-name&gt;</span>		
    <span class="code-tag">&lt;/security-role&gt;</span>
    	
    <span class="code-tag">&lt;servlet&gt;</span>
	    <span class="code-tag">&lt;display-name&gt;</span>AddTimeRecordServlet<span class="code-tag">&lt;/display-name&gt;</span>
	    <span class="code-tag">&lt;servlet-name&gt;</span>AddTimeRecordServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
	    <span class="code-tag">&lt;servlet-class&gt;</span>org.apache.geronimo.samples.timereport.web.AddTimeRecordServlet<span class="code-tag">&lt;/servlet-class&gt;</span>
  	<span class="code-tag">&lt;/servlet&gt;</span>
  	<span class="code-tag">&lt;servlet&gt;</span>
	    <span class="code-tag">&lt;display-name&gt;</span>AddEmployeeServlet<span class="code-tag">&lt;/display-name&gt;</span>
	    <span class="code-tag">&lt;servlet-name&gt;</span>AddEmployeeServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
	    <span class="code-tag">&lt;servlet-class&gt;</span>org.apache.geronimo.samples.timereport.web.AddEmployeeServlet<span class="code-tag">&lt;/servlet-class&gt;</span>
  	<span class="code-tag">&lt;/servlet&gt;</span>
  	
  	<span class="code-tag">&lt;servlet-mapping&gt;</span>
	    <span class="code-tag">&lt;servlet-name&gt;</span>AddTimeRecordServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
	    <span class="code-tag">&lt;url-pattern&gt;</span>/employee/add_timerecord<span class="code-tag">&lt;/url-pattern&gt;</span>
    <span class="code-tag">&lt;/servlet-mapping&gt;</span>
    <span class="code-tag">&lt;servlet-mapping&gt;</span>
	    <span class="code-tag">&lt;servlet-name&gt;</span>AddEmployeeServlet<span class="code-tag">&lt;/servlet-name&gt;</span>
	    <span class="code-tag">&lt;url-pattern&gt;</span>/manager/add_employee<span class="code-tag">&lt;/url-pattern&gt;</span>
    <span class="code-tag">&lt;/servlet-mapping&gt;</span>
        
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<ol>
	<li>Back in the Geronimo Administrative Console click on <b>Plan Creator</b>. Browse to the <tt>timereport.war</tt> you just extracted and click on <b>Configure</b>.<br clear="all" /> <br clear="all" />
<img src="/confluence/download/attachments/93293/noAnnotations-Security-1.jpg" align="absmiddle" border="0" /> <br clear="all" /> <br clear="all" /></li>
	<li>In the resulting screen you will be configuring the web application identity. You may want to change the default proposed values however, for this example, we will be accepting the defaults. Click <b>Next</b>.<br clear="all" /> <br clear="all" />
<img src="/confluence/download/attachments/93293/noAnnotations-Security-2.jpg" align="absmiddle" border="0" /> <br clear="all" /> <br clear="all" /></li>
	<li>As a difference from the other sample applications, for this example we do not have to resolve any resource references so the wizard will jump directly to the security part of the configuration. In the resulting screen define the security configuration.
	<ol>
		<li>Select <b>TimeReportRealm</b> from the <em>Security Realm Name:</em> pull down menu. This is the security realm you deployed earlier.</li>
		<li>For security role <b>employee</b> select <b>Add</b> -&gt; <b>Principal</b> from the pull down menu and add 2 <b>Group Prinicipals</b> with name <em>EmployeeGroup</em> and <em>ManagerGroup</em>.</li>
		<li>For security role <b>manager</b>, select <b>Add</b> -&gt; <b>Principal</b> and add 1 <b>Group Prinicipal</b> with name <em>ManagerGroup</em>.<br clear="all" /> <br clear="all" />
<img src="/confluence/download/attachments/93293/noAnnotations-Security-3.jpg" align="absmiddle" border="0" /><br clear="all" /> <br clear="all" /></li>
	</ol>
	</li>
	<li>Click <b>Next</b>, the following screen allows you to select WAR dependencies. This application has not dependencies on any these modules, click <b>Next</b>.</li>
	<li>In the <em>Created Plan</em> screen you should see a plan similar to this one.
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Generated deployment plan without Annotations</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
<span class="code-tag">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>&gt;</span>
    <span class="code-tag">&lt;dep:environment <span class="code-keyword">xmlns:dep</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;</span>
        <span class="code-tag">&lt;dep:moduleId&gt;</span>
            <span class="code-tag">&lt;dep:groupId&gt;</span>default<span class="code-tag">&lt;/dep:groupId&gt;</span>
            <span class="code-tag">&lt;dep:artifactId&gt;</span>timereport<span class="code-tag">&lt;/dep:artifactId&gt;</span>
            <span class="code-tag">&lt;dep:version&gt;</span>1.0<span class="code-tag">&lt;/dep:version&gt;</span>
            <span class="code-tag">&lt;dep:type&gt;</span>war<span class="code-tag">&lt;/dep:type&gt;</span>
        <span class="code-tag">&lt;/dep:moduleId&gt;</span>
    <span class="code-tag">&lt;/dep:environment&gt;</span>
    <span class="code-tag">&lt;context-root&gt;</span>timereport<span class="code-tag">&lt;/context-root&gt;</span>
    <span class="code-tag">&lt;security-realm-name&gt;</span>TimeReportRealm<span class="code-tag">&lt;/security-realm-name&gt;</span>
    &lt;app:security xsi:type=<span class="code-quote">"sec:securityType"</span> <span class="code-keyword">xmlns:sec</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/security-2.0"</span> 
                  <span class="code-keyword">xmlns:app</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/application-2.0"</span> 
		  <span class="code-keyword">xmlns:xsi</span>=<span class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span>&gt;
        <span class="code-tag">&lt;sec:role-mappings&gt;</span>
            <span class="code-tag">&lt;sec:role role-name=<span class="code-quote">"employee"</span>&gt;</span>
                <span class="code-tag">&lt;sec:principal name=<span class="code-quote">"EmployeeGroup"</span> class=<span class="code-quote">"org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"</span>/&gt;</span>
                <span class="code-tag">&lt;sec:principal name=<span class="code-quote">"ManagerGroup"</span> class=<span class="code-quote">"org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"</span>/&gt;</span>
            <span class="code-tag">&lt;/sec:role&gt;</span>
            <span class="code-tag">&lt;sec:role role-name=<span class="code-quote">"manager"</span>&gt;</span>
                <span class="code-tag">&lt;sec:principal name=<span class="code-quote">"ManagerGroup"</span> class=<span class="code-quote">"org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"</span>/&gt;</span>
            <span class="code-tag">&lt;/sec:role&gt;</span>
        <span class="code-tag">&lt;/sec:role-mappings&gt;</span>
    <span class="code-tag">&lt;/app:security&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div></li>
	<li>Click on <b>Deploy WAR</b> and then click on <b>Launch Web App</b> to run the sample application. Verify <em>userid</em> and <em>password</em> values from <tt>1_TimeReportDB.sql</tt>.</li>
</ol>


<h1><a name="Creatingdeploymentplansusingthedeploymentplanwizard-Attachments"></a>Attachments</h1>
    <script language="javascript">
    function toggle(id) {
        var oldAttachmentVersionsBlock = document.getElementById('history_' + id);
        var latestAttachmentVersionBlock = document.getElementById("attachment_" + id);
        with (oldAttachmentVersionsBlock.style)
        {
            if ( display == "none" )
            {
                display = "";
                // change the css class of the tr so that all td's sitting inside willbe stripped of their bottom borders (so it looks nice!)
                if (latestAttachmentVersionBlock.className != '')
                    latestAttachmentVersionBlock.className = 'rowAlternateNoBottomColor';
                else
                    latestAttachmentVersionBlock.className = 'rowAlternateNoBottomNoColor';
            }
            else
            {
                display = "none";
                if (latestAttachmentVersionBlock.className == 'rowAlternateNoBottomColor')
                    latestAttachmentVersionBlock.className = 'rowAlternate';
                else
                    latestAttachmentVersionBlock.className = null;
            }
        }

        var arrowIcon = document.getElementById('arrow' + id);
        with (arrowIcon)
        {
            if (src != null && (src.indexOf('/confluence/images/icons/arrow_closed_active_16.gif') != -1 || src.indexOf('/confluence/images/icons/arrow_closing_active_16.gif') != -1))
            {
                src = '/confluence/images/icons/arrow_opening_active_16.gif';
            }
            else
            {
                src = '/confluence/images/icons/arrow_closing_active_16.gif';
            }
        }


    }
    </script>


            <table class="tableview" cellpadding="0" cellspacing="0" width="100%">
            <tr>
                <th width="1%">&nbsp;</th>
                <th width="1%"><a href="/confluence/display/GMOxDOC22/Creating+deployment+plans+using+the+deployment+plan+wizard?sortBy=name">Name</a></th>
                <th width="1%"><a href="/confluence/display/GMOxDOC22/Creating+deployment+plans+using+the+deployment+plan+wizard?sortBy=size">Size</a></th>
                <th width="1%">Creator</th>
                <th width="1%"><a href="/confluence/display/GMOxDOC22/Creating+deployment+plans+using+the+deployment+plan+wizard?sortBy=date">Date</a></th>
                <th>Comment</th>
                <th width="1%">&nbsp;</th>
            </tr>
            
                            <tr      id="attachment_8013">
                            <td nowrap><img align="absmiddle" height="16" width="16" id="arrow8013" src="/confluence/images/border/spacer.gif"></td>
                <td nowrap><a name="Creating+deployment+plans+using+the+deployment+plan+wizard-attachment-noAnnotations-TestJDBCAccess.zip"><img src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle alt="ZIP Archive"></a> <a href="/confluence/download/attachments/93293/noAnnotations-TestJDBCAccess.zip">noAnnotations-TestJDBCAccess.zip</a></td>
                <td nowrap>5 kb</td>
                <td nowrap>    <a href="/confluence/display/~hcunico">Hernan Cunico</a></td>
                <td nowrap>Jan 10, 2008</td>
                <td>                        JDBC access sample application without annotations
                                    </td>
                <td nowrap>&nbsp;

                                                                        <a href="/confluence/pages/movepageattachment.action?pageId=93293&fileName=noAnnotations-TestJDBCAccess.zip" id="edit_attachment">Edit</a> |
                                            
                                                                        <a href="/confluence/pages/removeattachmentonpage.action?pageId=93293&fileName=noAnnotations-TestJDBCAccess.zip&version=1"
                            onClick="javascript:if( confirm('Are you sure you want to remove attached file noAnnotations-TestJDBCAccess.zip?')) return true; else return false;">Remove</a>
                                                            </td>
            </tr>

                        
                            <tr             class="rowAlternate"
     id="attachment_8063">
                            <td nowrap><img align="absmiddle" height="16" width="16" id="arrow8063" src="/confluence/images/border/spacer.gif"></td>
                <td nowrap><a name="Creating+deployment+plans+using+the+deployment+plan+wizard-attachment-noAnnotations-TestEJBAccess.zip"><img src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle alt="ZIP Archive"></a> <a href="/confluence/download/attachments/93293/noAnnotations-TestEJBAccess.zip">noAnnotations-TestEJBAccess.zip</a></td>
                <td nowrap>4 kb</td>
                <td nowrap>    <a href="/confluence/display/~hcunico">Hernan Cunico</a></td>
                <td nowrap>Jan 10, 2008</td>
                <td>                        EJB access sample application without annotations
                                    </td>
                <td nowrap>&nbsp;

                                                                        <a href="/confluence/pages/movepageattachment.action?pageId=93293&fileName=noAnnotations-TestEJBAccess.zip" id="edit_attachment">Edit</a> |
                                            
                                                                        <a href="/confluence/pages/removeattachmentonpage.action?pageId=93293&fileName=noAnnotations-TestEJBAccess.zip&version=1"
                            onClick="javascript:if( confirm('Are you sure you want to remove attached file noAnnotations-TestEJBAccess.zip?')) return true; else return false;">Remove</a>
                                                            </td>
            </tr>

                        
                            <tr      id="attachment_8141">
                            <td nowrap><img align="absmiddle" height="16" width="16" id="arrow8141" src="/confluence/images/border/spacer.gif"></td>
                <td nowrap><a name="Creating+deployment+plans+using+the+deployment+plan+wizard-attachment-noAnnotations-TestSecuritySettings.zip"><img src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle alt="ZIP Archive"></a> <a href="/confluence/download/attachments/93293/noAnnotations-TestSecuritySettings.zip">noAnnotations-TestSecuritySettings.zip</a></td>
                <td nowrap>120 kb</td>
                <td nowrap>    <a href="/confluence/display/~hcunico">Hernan Cunico</a></td>
                <td nowrap>Jan 10, 2008</td>
                <td>                        Security configuration sample application without annotations
                                    </td>
                <td nowrap>&nbsp;

                                                                        <a href="/confluence/pages/movepageattachment.action?pageId=93293&fileName=noAnnotations-TestSecuritySettings.zip" id="edit_attachment">Edit</a> |
                                            
                                                                        <a href="/confluence/pages/removeattachmentonpage.action?pageId=93293&fileName=noAnnotations-TestSecuritySettings.zip&version=1"
                            onClick="javascript:if( confirm('Are you sure you want to remove attached file noAnnotations-TestSecuritySettings.zip?')) return true; else return false;">Remove</a>
                                                            </td>
            </tr>

                        
                            <tr             class="rowAlternate"
     id="attachment_8183">
                            <td nowrap><img align="absmiddle" height="16" width="16" id="arrow8183" src="/confluence/images/border/spacer.gif"></td>
                <td nowrap><a name="Creating+deployment+plans+using+the+deployment+plan+wizard-attachment-Annotations-TestEJBAccess.zip"><img src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle alt="ZIP Archive"></a> <a href="/confluence/download/attachments/93293/Annotations-TestEJBAccess.zip">Annotations-TestEJBAccess.zip</a></td>
                <td nowrap>5 kb</td>
                <td nowrap>    <a href="/confluence/display/~hcunico">Hernan Cunico</a></td>
                <td nowrap>Jan 09, 2008</td>
                <td>                        EJB access sample application with annotations
                                    </td>
                <td nowrap>&nbsp;

                                                                        <a href="/confluence/pages/movepageattachment.action?pageId=93293&fileName=Annotations-TestEJBAccess.zip" id="edit_attachment">Edit</a> |
                                            
                                                                        <a href="/confluence/pages/removeattachmentonpage.action?pageId=93293&fileName=Annotations-TestEJBAccess.zip&version=1"
                            onClick="javascript:if( confirm('Are you sure you want to remove attached file Annotations-TestEJBAccess.zip?')) return true; else return false;">Remove</a>
                                                            </td>
            </tr>

                        
                            <tr      id="attachment_8195">
                            <td nowrap><img align="absmiddle" height="16" width="16" id="arrow8195" src="/confluence/images/border/spacer.gif"></td>
                <td nowrap><a name="Creating+deployment+plans+using+the+deployment+plan+wizard-attachment-noAnnotations-TestJMSAccess.zip"><img src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle alt="ZIP Archive"></a> <a href="/confluence/download/attachments/93293/noAnnotations-TestJMSAccess.zip">noAnnotations-TestJMSAccess.zip</a></td>
                <td nowrap>7 kb</td>
                <td nowrap>    <a href="/confluence/display/~hcunico">Hernan Cunico</a></td>
                <td nowrap>Jan 10, 2008</td>
                <td>                        JMS access sample application without annotations
                                    </td>
                <td nowrap>&nbsp;

                                                                        <a href="/confluence/pages/movepageattachment.action?pageId=93293&fileName=noAnnotations-TestJMSAccess.zip" id="edit_attachment">Edit</a> |
                                            
                                                                        <a href="/confluence/pages/removeattachmentonpage.action?pageId=93293&fileName=noAnnotations-TestJMSAccess.zip&version=1"
                            onClick="javascript:if( confirm('Are you sure you want to remove attached file noAnnotations-TestJMSAccess.zip?')) return true; else return false;">Remove</a>
                                                            </td>
            </tr>

                        
                            <tr             class="rowAlternate"
     id="attachment_8243">
                            <td nowrap><img align="absmiddle" height="16" width="16" id="arrow8243" src="/confluence/images/border/spacer.gif"></td>
                <td nowrap><a name="Creating+deployment+plans+using+the+deployment+plan+wizard-attachment-Annotations-TestJDBCAccess.zip"><img src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle alt="ZIP Archive"></a> <a href="/confluence/download/attachments/93293/Annotations-TestJDBCAccess.zip">Annotations-TestJDBCAccess.zip</a></td>
                <td nowrap>4 kb</td>
                <td nowrap>    <a href="/confluence/display/~hcunico">Hernan Cunico</a></td>
                <td nowrap>Jan 09, 2008</td>
                <td>                        JDBC access sample application with annotations
                                    </td>
                <td nowrap>&nbsp;

                                                                        <a href="/confluence/pages/movepageattachment.action?pageId=93293&fileName=Annotations-TestJDBCAccess.zip" id="edit_attachment">Edit</a> |
                                            
                                                                        <a href="/confluence/pages/removeattachmentonpage.action?pageId=93293&fileName=Annotations-TestJDBCAccess.zip&version=1"
                            onClick="javascript:if( confirm('Are you sure you want to remove attached file Annotations-TestJDBCAccess.zip?')) return true; else return false;">Remove</a>
                                                            </td>
            </tr>

                        
                            <tr      id="attachment_8572">
                            <td nowrap><img align="absmiddle" height="16" width="16" id="arrow8572" src="/confluence/images/border/spacer.gif"></td>
                <td nowrap><a name="Creating+deployment+plans+using+the+deployment+plan+wizard-attachment-Annotations-TestJMSAccess.zip"><img src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle alt="ZIP Archive"></a> <a href="/confluence/download/attachments/93293/Annotations-TestJMSAccess.zip">Annotations-TestJMSAccess.zip</a></td>
                <td nowrap>7 kb</td>
                <td nowrap>    <a href="/confluence/display/~hcunico">Hernan Cunico</a></td>
                <td nowrap>Jan 09, 2008</td>
                <td>                        JMS access sample application with annotations
                                    </td>
                <td nowrap>&nbsp;

                                                                        <a href="/confluence/pages/movepageattachment.action?pageId=93293&fileName=Annotations-TestJMSAccess.zip" id="edit_attachment">Edit</a> |
                                            
                                                                        <a href="/confluence/pages/removeattachmentonpage.action?pageId=93293&fileName=Annotations-TestJMSAccess.zip&version=1"
                            onClick="javascript:if( confirm('Are you sure you want to remove attached file Annotations-TestJMSAccess.zip?')) return true; else return false;">Remove</a>
                                                            </td>
            </tr>

                                </table>
    
<br>

    
    </div>


</td></tr></table></div>
<p>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
        <td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="http://cwiki.apache.org/confluence/images/border/spacer.gif" width="1" height="1" border="0"/></td>
    </tr>
</table>

<div class="smalltext">
    Powered by
    <a href="http://www.atlassian.com/software/confluence/default.jsp?clicked=footer" class="smalltext">Atlassian Confluence</a>
    (Version: 2.2.9 Build:#527 Sep 07, 2006)
    -
    <a href="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470" class="smalltext">Bug/feature request</a><br/>
    <br>
    <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action">Unsubscribe or edit your notifications preferences</a>

</div>

</body>
</html>


Mime
View raw message