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.1: Migrating with the J2G Migration Tool (page edited)
Date Mon, 25 Feb 2008 21:30: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/GMOxDOC21">GMOxDOC21</a> :
            <a href="http://cwiki.apache.org/confluence/display/GMOxDOC21/Migrating+with+the+J2G+Migration+Tool">Migrating with the J2G Migration Tool</a>
        </span>
    </div>

     <p>
        <a href="http://cwiki.apache.org/confluence/display/GMOxDOC21/Migrating+with+the+J2G+Migration+Tool">Migrating with the J2G Migration Tool</a>
        has been edited by             <a href="http://cwiki.apache.org/confluence/display/~jawarner">Jason Warner</a>
            <span class="smallfont">(Feb 25, 2008)</span>.
     </p>
    
     <p>
                 <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=77747&originalVersion=2&revisedVersion=3">(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/GMOxDOC21/J2G+Migration+Tool"><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/GMOxDOC21/J2G+Migration+Tool">J2G Migration Tool</a>&nbsp;</td><td width='33%' class='ScrollbarParent'><sup><a href="/confluence/display/GMOxDOC21/Migrating+to+Apache+Geroninomo"><img border='0' align='middle' src='/confluence/images/icons/up_16.gif' width='8' height='8'></a></sup><a href="/confluence/display/GMOxDOC21/Migrating+to+Apache+Geroninomo">Migrating to Apache Geroninomo</a></td><td width='33%' class='ScrollbarNextName'>&nbsp;</td></tr></table></div>
<style type='text/css'>/*<![CDATA[*/
div.rbtoc1203974995097 {margin-left: 1.5em;padding: 0px;}
div.rbtoc1203974995097 ul {list-style: disc;margin-left: 0px;padding-left: 20px;}
div.rbtoc1203974995097 li {margin-left: 0px;padding-left: 0px;}

/*]]>*/</style><div class='rbtoc1203974995097'>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Overview'>Overview</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Downloading'>Downloading</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Components'>Components</a>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Dependencies'>Dependencies</a>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-EnvironmentVariables'>Environment Variables</a></li>
</ul></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Configurator'>Configurator</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-SourceIdentificationToolSummary'>Source Identification Tool Summary</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-DescriptorsConversionToolSummary'>Descriptors Conversion Tool Summary</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-ResourceConversionToolSummary'>Resource Conversion Tool Summary</a></li>
</ul></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-SourceIdentificationTool'>Source Identification Tool</a>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Description'>Description</a>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Specifyingadditionalclasses'>Specifying additional classes</a></li>
</ul></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-RunningtheSourceIdentificationToolEclipseGUI'>Running the Source Identification Tool - Eclipse GUI</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-RunningtheSourceIdentificationToolCommandLine'>Running the Source Identification Tool - Command Line</a></li>
</ul></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-DescriptorsConversionTool'>Descriptors Conversion Tool</a>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Description'>Description</a>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Annotations%28forEJB3.0%29'>Annotations (for EJB 3.0)</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Specifyingadditionalannotations'>Specifying additional annotations</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-OpenEJB'>OpenEJB</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-SpecifyingadditionalOpenEJBassociationsforpersistence.xml'>Specifying additional OpenEJB associations for persistence.xml</a></li>
</ul></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-RunningtheDescriptorsConversionToolEclipseGUI'>Running the Descriptors Conversion Tool - Eclipse GUI</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-RunningtheDescriptorsConversionToolCommandLine'>Running the Descriptors Conversion Tool - Command Line</a></li>
</ul></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-ResourceMigrationTool'>Resource Migration Tool</a>
<ul>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Description'>Description</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-RunningtheResourceMigrationToolEclipseGUI'>Running the Resource Migration Tool - Eclipse GUI</a></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-RunningtheResourceMigrationToolCommandLine'>Running the Resource Migration Tool - Command Line</a></li>
</ul></li>
  <li><a href='#MigratingwiththeJ2GMigrationTool-Completion'>Completion</a></li>
</ul></div>

<h1><a name="MigratingwiththeJ2GMigrationTool-Overview"></a>Overview</h1>
<p>JBoss to Geronimo (J2G) is a tool set built as Eclipse SDK plug-ins designed to assist in migrating the sources of an application written for the JBoss application server or written for Java 2 Enterprise Edition (J2EE) to the Apache Geronimo platform.</p>

<h1><a name="MigratingwiththeJ2GMigrationTool-Downloading"></a>Downloading</h1>
<p>For information on downloading J2G, visit the <span class="nobr"><a href="http://geronimo.apache.org/development-tools.html" title="Visit page outside Confluence" rel="nofollow">Geronimo Development Tools<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> page.<br/>
For information on building J2G from source visit <a href="/confluence/display/GMOxDOC21/Building+J2G+from+source" title="Building J2G from source">Building J2G from source</a>.</p>

<h1><a name="MigratingwiththeJ2GMigrationTool-Components"></a>Components</h1>

<p>J2G consists of three executable utilities with basic Eclipse IDE UI extensions. The "Configurator" component, and the three major components, each of which have relatively specific functions, and must be run in the order as follows.</p>

<h2><a name="MigratingwiththeJ2GMigrationTool-Dependencies"></a>Dependencies</h2>

<p>The J2G tool set requires at least the following application versions<br/>
(these are the versions J2G is known to work on)</p>
<ul>
	<li>Sun JDK 5.0&#43; (J2SE 1.5)</li>
	<li>Eclipse SDK 3.3M7 with JDT Core Plug-in</li>
	<li>Apache Geronimo 1.1.1 and up</li>
	<li>Application written for JBoss 3.2 and up or J2EE 1.2 and up.</li>
</ul>


<h3><a name="MigratingwiththeJ2GMigrationTool-EnvironmentVariables"></a>Environment Variables</h3>

<p>The tools in J2G require that the following environment variables be set to the proper locations:</p>
<ul>
	<li>JAVA_HOME (Location of the JDK)</li>
	<li>ECLIPSE_HOME (Location of the Eclipse SDK)</li>
	<li>WORKSPACE (Location for a temporary eclipse workspace)</li>
</ul>


<h2><a name="MigratingwiththeJ2GMigrationTool-Configurator"></a>Configurator</h2>

<p>To run this component, navigate to bin, and run j2g-configure</p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>user@lappy-486:~/j2g$ cd bin
user@lappy-486:~/j2g/bin$ ./j2g-configure.sh

Copying J2G plugins to /home/user/.m2/repository/eclipse/eclipse/plugins/ ...

`../plugins/org.apache.geronimo.j2g.common_1.0.0-SNAPSHOT.jar' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.common_1.0.0-SNAPSHOT.jar'
`../plugins/org.apache.geronimo.j2g.descriptors_1.0.0-SNAPSHOT.jar' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.descriptors_1.0.0-SNAPSHOT.jar'
`../plugins/org.apache.geronimo.j2g.jasper_1.0.0-SNAPSHOT.jar' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.jasper_1.0.0-SNAPSHOT.jar'
`../plugins/org.apache.geronimo.j2g.resources_1.0.0-SNAPSHOT.jar' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.resources_1.0.0-SNAPSHOT.jar'
`../plugins/org.apache.geronimo.j2g.sources_1.0.0-SNAPSHOT.jar' -&gt;
/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources_1.0.0-SNAPSHOT.jar'
`../plugins/org.apache.geronimo.j2g.util_1.0.0-SNAPSHOT.jar' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.util_1.0.0-SNAPSHOT.jar'
`../properties/org.apache.geronimo.j2g.descriptors.ejb/persistence_differences.properties' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.descriptors.ejb/persistence_differences.properties'
`../properties/org.apache.geronimo.j2g.descriptors.ejb.annotation/annotation_differences.properties' -&gt;
/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.descriptors.ejb.annotation/annotation_differences.properties'
`../properties/org.apache.geronimo.j2g.sources.dependence/default_jars.properties' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence/default_jars.properties'
`../properties/org.apache.geronimo.j2g.sources.dependence/class_analogies.properties' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence/class_analogies.properties'
`../properties/org.apache.geronimo.j2g.sources.dependence/compatible_sources.properties' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence/compatible_sources.properties'
`../properties/org.apache.geronimo.j2g.sources.environment/beans-types.properties' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.environment/beans-types.properties'
`../properties/org.apache.geronimo.j2g.sources.environment/beans-interfaces.properties' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.environment/beans-interfaces.properties'
`../properties/org.apache.geronimo.j2g.sources.environment/beans-references.properties' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.environment/beans-references.properties'
`../compatibility/org.apache.geronimo.j2g.sources.dependence.compatibility/DigestCallback.java' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence.compatibility/DigestCallback.java'
`../compatibility/org.apache.geronimo.j2g.sources.dependence.compatibility/GeronimoLoginModule.java' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence.compatibility/GeronimoLoginModule.java'
`../compatibility/org.apache.geronimo.j2g.sources.dependence.compatibility/PasswordHasher.java' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence.compatibility/PasswordHasher.java'
`../compatibility/org.apache.geronimo.j2g.sources.dependence.compatibility/Nobody.java' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence.compatibility/Nobody.java'
`../compatibility/org.apache.geronimo.j2g.sources.dependence.compatibility/GeronimoSimpleGroup.java' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence.compatibility/GeronimoSimpleGroup.java'
`../compatibility/org.apache.geronimo.j2g.sources.dependence.compatibility/Anybody.java' -&gt;
`/home/user/.m2/repository/eclipse/eclipse/plugins/org.apache.geronimo.j2g.sources.dependence.compatibility/Anybody.java'

A backup of your configuration file has been written to /home/user/.m2/repository/eclipse/eclipse/configuration/config.bak

Configuration complete.
user@lappy-486:~/j2g/bin$
</pre>
</div></div>
<p>This will automatically copy the contents of the ./plugins, ./properties, and ./compatibility directories to ECLIPSE_HOME/plugins, as well as make changes to (or create, if necessary) ECLIPSE_HOME/configuration/config.ini.</p>

<h2><a name="MigratingwiththeJ2GMigrationTool-SourceIdentificationToolSummary"></a>Source Identification Tool Summary</h2>

<p>This tool parses through source code (.java and .jsp files) recursively in directories passed to it as command line arguments. While doing this, it replaces any JBoss classes and dependencies for which there are Geronimo equivalents. If there is no equivalent, it will alert the user of this issue which must be resolved either through manual creation of a replacement class or rewriting the segment of code dependent on the JBoss class.</p>

<h2><a name="MigratingwiththeJ2GMigrationTool-DescriptorsConversionToolSummary"></a>Descriptors Conversion Tool Summary</h2>

<p>This tool converts JBoss specific deployment descriptors and J2EE standard deployment descriptors (if necessary) to their Geronimo equivalents.</p>

<h2><a name="MigratingwiththeJ2GMigrationTool-ResourceConversionToolSummary"></a>Resource Conversion Tool Summary</h2>

<p>This tool converts JBoss specific resources, such as Java Messaging Services (JMS) Queues, JMS Topics, Java Database Connectivity (JDBC) data sources to their Geronimo equivalents.</p>

<h1><a name="MigratingwiththeJ2GMigrationTool-SourceIdentificationTool"></a>Source Identification Tool</h1>

<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
<p>It is <b>strongly advised</b> to create a backup of the application source before running J2G</p></td></tr></table>

<h2><a name="MigratingwiththeJ2GMigrationTool-Description"></a>Description</h2>

<p>The Source Identification Tool should be started first. It scans the sources and identifies files that need to be changed during the migration process. These files include Java classes (.java files), JSPs (.jsp files), as well as files with an overridden JSP file extension, specified with the argument &#45;jspext. (For example: &#45;jspext html for .html files)</p>

<p>In these files, the tool checks for:</p>
<ul>
	<li>Use of APIs incompatible with Geronimo (e.g. JBoss internal APIs);</li>
	<li>Violation of J2EE naming principles.</li>
</ul>


<p>When the tool checks for usage of APIs incompatible with Geronimo, these JBoss classes are automatically replaced with Geronimo compatible classes</p>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> JBoss Class </th>
<th class='confluenceTh'> Geronimo Compatible Class </th>
</tr>
<tr>
<td class='confluenceTd'> org.jboss.security.SimplePrincipal </td>
<td class='confluenceTd'> org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal </td>
</tr>
<tr>
<td class='confluenceTd'> org.jboss.security.auth.spi.DigestCallback </td>
<td class='confluenceTd'> org.apache.geronimo.j2g.sources.dependence.compatibility.DigestCallback </td>
</tr>
<tr>
<td class='confluenceTd'> org.jboss.security.Nobody </td>
<td class='confluenceTd'> org.apache.geronimo.j2g.sources.dependence.compatibility.Nobody </td>
</tr>
<tr>
<td class='confluenceTd'> org.jboss.security.Anybody </td>
<td class='confluenceTd'> org.apache.geronimo.j2g.sources.dependence.compatibility.Anybody </td>
</tr>
<tr>
<td class='confluenceTd'> org.jboss.security.auth.spi.UsernamePasswordLoginModule </td>
<td class='confluenceTd'> org.apache.geronimo.j2g.sources.dependence.compatibility.GeronimoLoginModule </td>
</tr>
<tr>
<td class='confluenceTd'> org.jboss.security.SimpleGroup </td>
<td class='confluenceTd'> org.apache.geronimo.j2g.sources.dependence.compatibility.GeronimoSimpleGroup </td>
</tr>
</tbody></table>
<p>Any references beyond the table above must be manually corrected so that they are no longer dependent on parts of JBoss. It's important to note that JSP file processing is limited to the identification of problems, and automatic correction is not currently supported.</p>

<p>When the tool validates J2EE naming it detects cases in which a component (a class or JSP) refers to a named object that is not a part of the application being converted (For example: a data source, JMS, or Email provider reference). In simple cases, when a component requests an external resource with a direct, full path and does not have any environment reference, the tool tries to fix this problem automatically by adding the resource reference to the component's deployment descriptor and replaces the direct path with the name of the added reference.</p>

<p>When a source file is changed automatically by the Source Identification Tool, the original version is saved with the .j2g extension and an informational message is printed out. In all other cases, when a problem needs to be fixed manually, the tool simply prints a warning message.</p>

<h3><a name="MigratingwiththeJ2GMigrationTool-Specifyingadditionalclasses"></a>Specifying additional classes</h3>

<p>Additional drop-in replacements for JBoss specific classes can be user-defined by modifying <b>&lt;ECLIPSE_HOME&gt;/plugins/org.apache.geronimo.j2g.sources.dependence/class_analogies.properties</b> to include the proper relationship, as well as <b>&lt;ECLIPSE_HOME&gt;/plugins/org.apache.geronimo.j2g.sources.dependence/compatible_sources.properties</b> to include the class name. The source code for these replacement classes must be placed in the directory <b>&lt;ECLIPSE_HOME&gt;/plugins/org.apache.geronimo.j2g.sources.dependence.compatibility</b> for proper inclusion.</p>

<p>Classes that already exist within Geronimo jars can also be added into the class-analogies.properties file.  These classes do not need to be placed within the compatibility directory but a dependency will have to be added to the corresponding xml in the converted application.</p>

<p>Below is an example of the default class_analogies.properties file</p>
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>class_analogies.properties</b></div><div class="codeContent">
<pre class="code-xml">#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the <span class="code-quote">"License"</span>); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an <span class="code-quote">"AS IS"</span> BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
###########################################################################################################
# Jboss classes and it's analogies.
###########################################################################################################
org.jboss.security.SimplePrincipal = org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal
org.jboss.security.auth.spi.DigestCallback = org.apache.geronimo.j2g.sources.dependence.compatibility.DigestCallback
org.jboss.security.Nobody = org.apache.geronimo.j2g.sources.dependence.compatibility.Nobody
org.jboss.security.Anybody = org.apache.geronimo.j2g.sources.dependence.compatibility.Anybody
org.jboss.security.auth.spi.UsernamePasswordLoginModule = org.apache.geronimo.j2g.sources.dependence.compatibility.GeronimoLoginModule
org.jboss.security.SimpleGroup = org.apache.geronimo.j2g.sources.dependence.compatibility.GeronimoSimpleGroup</pre>
</div></div>
<p>Below is an example of the default compatible_sources.properties file</p>
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>compatible_sources.properties</b></div><div class="codeContent">
<pre class="code-xml">#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the <span class="code-quote">"License"</span>); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an <span class="code-quote">"AS IS"</span> BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
######################################################################
# List of compatibility sources
######################################################################
org.apache.geronimo.j2g.sources.dependence.compatibility.DigestCallback
org.apache.geronimo.j2g.sources.dependence.compatibility.Nobody
org.apache.geronimo.j2g.sources.dependence.compatibility.Anybody
org.apache.geronimo.j2g.sources.dependence.compatibility.GeronimoLoginModule
org.apache.geronimo.j2g.sources.dependence.compatibility.GeronimoSimpleGroup
org.apache.geronimo.j2g.sources.dependence.compatibility.PasswordHasher</pre>
</div></div>

<h2><a name="MigratingwiththeJ2GMigrationTool-RunningtheSourceIdentificationToolEclipseGUI"></a>Running the Source Identification Tool - Eclipse GUI</h2>

<p>To run this component within the Eclipse IDE GUI, the left panel must first be in Navigator view.</p>

<p>Once in the Navigator view, it is possible to right click and select J2G Migration from the context menu.<br/>
<img src="/confluence/download/attachments/77747/menu.png" align="absmiddle" border="0" /></p>

<p>Within the J2G Migration sub menu, select "1. Source Identification Tool (jsrc2g)", and follow the prompts given.</p>

<p>Output will be displayed in the bottom portion of the Eclipse IDE, within the integrated Console window.<br/>
<img src="/confluence/download/attachments/77747/output.png" align="absmiddle" border="0" /></p>

<h2><a name="MigratingwiththeJ2GMigrationTool-RunningtheSourceIdentificationToolCommandLine"></a>Running the Source Identification Tool - Command Line</h2>

<p>To run this component, execute the following command from the j2g bin directory, with &lt;APPLICATION&gt; representing the path to the application you are converting, and &lt;GERONIMO_HOME&gt; representing the path to Geronimo 2.0.</p>

<p>&#42;<b>nix</b></p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>./jsrc2g.sh -src &lt;APPLICATION&gt;/src -web &lt;APPLICATION&gt;/web -geronimo &lt;GERONIMO_HOME&gt;
</pre>
</div></div>
<p><b>Windows</b></p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>jsrc2g.bat -src &lt;APPLICATION&gt;\src -web &lt;APPLICATION&gt;\web -geronimo &lt;GERONIMO_HOME&gt;
</pre>
</div></div>
<p>Note: To specify multiple sources for conversion, simply separate them with ,s (commas), as follows.</p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>jsrc2g.cmd -src &lt;APPLICATION&gt;/src,&lt;APPLICATION&gt;/src2,...&lt;APPLICATION&gt;/srcn -web &lt;APPLICATION&gt;/web -geronimo &lt;GERONIMO_HOME&gt;
</pre>
</div></div>
<p>After the tool runs (which may take a few seconds, depending on system speed and the complexity of the application), it will display all warnings and errors to console output. These messages should be interpreted and corrected as seen fit by the user. Once changes have been made, the sources tool can be ran again to verify correctness.</p>

<h1><a name="MigratingwiththeJ2GMigrationTool-DescriptorsConversionTool"></a>Descriptors Conversion Tool</h1>


<h2><a name="MigratingwiththeJ2GMigrationTool-Description"></a>Description</h2>

<p>The Descriptors Conversion Tool finds and tries to automatically convert the following deployment descriptors so that they are accepted by Geronimo:</p>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Filename </th>
<th class='confluenceTh'> Purpose </th>
</tr>
<tr>
<td class='confluenceTd'> application.xml </td>
<td class='confluenceTd'> J2EE application deployment descriptor </td>
</tr>
<tr>
<td class='confluenceTd'> jboss-app.xml </td>
<td class='confluenceTd'> JBoss specific descriptor for elements such as security domain, class loader configuration as well as some others </td>
</tr>
<tr>
<td class='confluenceTd'> web.xml </td>
<td class='confluenceTd'> Web application descriptor </td>
</tr>
<tr>
<td class='confluenceTd'> jboss-web.xml </td>
<td class='confluenceTd'> JBoss specific descriptor for elements such as security roles, session settings, web service configuration. It is used to integrate a web application into JBoss deployment </td>
</tr>
<tr>
<td class='confluenceTd'> ejb-jar.xml </td>
<td class='confluenceTd'> EJB deployment descriptor </td>
</tr>
<tr>
<td class='confluenceTd'> jboss.xml </td>
<td class='confluenceTd'> JBoss descriptor providing any optional information like custom container configurations for the beans or JNDI names. It is used by JBoss but not described in the respective ejb-jar.xml </td>
</tr>
<tr>
<td class='confluenceTd'> jbosscmp-jdbc.xml </td>
<td class='confluenceTd'> JBossCMP-JDBC configuration file describing CMP-Database mappings, and key generation information </td>
</tr>
<tr>
<td class='confluenceTd'> standardjbosscmp-jdbc.xml </td>
<td class='confluenceTd'> Default JBossCMP-JDBC configuration file </td>
</tr>
<tr>
<td class='confluenceTd'> persistence.xml </td>
<td class='confluenceTd'> Datasource connection configuration file </td>
</tr>
</tbody></table>
<p>Note: Geronimo uses OpenEJB, which requires its own descriptor (openejb-jar.xml). There may be some instances where a jboss.xml is not given. In these cases, the openejb-jar.xml will be created on the top-most level directory in the source path that is specified to J2G.</p>

<h3><a name="MigratingwiththeJ2GMigrationTool-Annotations%28forEJB3.0%29"></a>Annotations (for EJB 3.0)</h3>

<p>The standard EJB annotations are supported by both Geronimo and JBoss. There are differences, however, in the attributes provided in some of the annotations.<br/>
Below is a list of all standard attribute differences provided that may occur within the specified annotations.</p>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Annotation </th>
<th class='confluenceTh'> JBoss Attribute </th>
<th class='confluenceTh'> Geronimo Attribute </th>
</tr>
<tr>
<td class='confluenceTd'> Resource </td>
<td class='confluenceTd'> mappedName </td>
<td class='confluenceTd'> name </td>
</tr>
<tr>
<td class='confluenceTd'> EJB </td>
<td class='confluenceTd'> mappedName </td>
<td class='confluenceTd'> name </td>
</tr>
<tr>
<td class='confluenceTd'> MessageDriven </td>
<td class='confluenceTd'> mappedName </td>
<td class='confluenceTd'> name </td>
</tr>
<tr>
<td class='confluenceTd'> Stateful </td>
<td class='confluenceTd'> mappedName </td>
<td class='confluenceTd'> name </td>
</tr>
<tr>
<td class='confluenceTd'> Stateless </td>
<td class='confluenceTd'> mappedName </td>
<td class='confluenceTd'> name </td>
</tr>
</tbody></table>
<p>Any references beyond the table above must be manually corrected so that they are no longer dependent on parts of JBoss.</p>
<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
<p>JBoss has their own EJB annotation extensions. These must be manually corrected as needed</p></td></tr></table>

<h3><a name="MigratingwiththeJ2GMigrationTool-Specifyingadditionalannotations"></a>Specifying additional annotations</h3>

<p>Additional drop-in replacements for JBoss specific annotation attributes can be user-defined by modifying <b>&lt;ECLIPSE_HOME&gt;/plugins/org.apache.geronimo.j2g.descriptors.ejb.annotation/annotation_differences.properties</b> to include the proper relationship. Because the nature of these mappings are not one-to-one, we cannot format the properties in the traditional format of <em>&lt;annotation&gt;=&lt;attribute&gt;</em>. Instead, the proper formatting is as follows:</p>

<p>In the case of a standard EJB annotation</p>
<div class="code" style="border-style: solid; "><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;property&gt;</span> :: <span class="code-tag">&lt;annotation&gt;</span>=<span class="code-tag">&lt;mapping&gt;</span></pre>
</div></div>
<p>Where <b>&lt;annotation&gt;</b> is a standard EJB annotation</p>

<p>In the case of a standard jBoss specific to Geronimo compatible relationship</p>
<div class="code" style="border-style: solid; "><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;mapping&gt;</span> :: <span class="code-tag">&lt;j_attribute&gt;</span>--&gt;<span class="code-tag">&lt;g_attribute&gt;</span></pre>
</div></div>
<p>Where <b>&lt;j_attribute&gt;</b> is a JBoss supported attribute and <b>&lt;g_attribute&gt;</b> is a Geronimo supported attribute</p>

<p>Finally, in the case of needing multiple attribute mappings for a single annotation</p>
<div class="code" style="border-style: solid; "><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;mapping&gt;</span> :: <span class="code-tag">&lt;j_attribute&gt;</span>--&gt;<span class="code-tag">&lt;g_attribute&gt;</span>,<span class="code-tag">&lt;mapping&gt;</span></pre>
</div></div>
<p>Where <b>&lt;j_attribute&gt;</b> is a JBoss supported attribute and <b>&lt;g_attribute&gt;</b> is a Geronimo supported attribute</p>

<p>Below is an example of the default annotation_differences.properties file</p>
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>annotation_differences.properties</b></div><div class="codeContent">
<pre class="code-xml">#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the <span class="code-quote">"License"</span>); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an <span class="code-quote">"AS IS"</span> BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
###########################################################################
# Jboss classes and it's analogies.
###########################################################################
Resource = mappedName--&gt;name
EJB = mappedName--&gt;name
MessageDriven = mappedName--&gt;name
Stateful = mappedName--&gt;name
Stateless = mappedName--&gt;name</pre>
</div></div>

<h3><a name="MigratingwiththeJ2GMigrationTool-OpenEJB"></a>OpenEJB</h3>

<p>When the tool checks for usage of EJB references incompatible with Geronimo, these JBoss EJB references are automatically replaced with Geronimo compatible OpenEJB references. Here is are the differences specified to change in the persistence.xml (used in EJB 3.0) so that the configurations are consistent.</p>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> JBoss EJB </th>
<th class='confluenceTh'> Geronimo OpenEJB </th>
</tr>
<tr>
<td class='confluenceTd'> hibernate.connection.url </td>
<td class='confluenceTd'> openjpa.ConnectionURL </td>
</tr>
<tr>
<td class='confluenceTd'> hibernate.connection.driver_class </td>
<td class='confluenceTd'> openjpa.ConnectionDriverName </td>
</tr>
<tr>
<td class='confluenceTd'> hibernate.connection.password </td>
<td class='confluenceTd'> openjpa.ConnectionPassword </td>
</tr>
<tr>
<td class='confluenceTd'> hibernate.connection.username </td>
<td class='confluenceTd'> openjpa.ConnectionUserName </td>
</tr>
</tbody></table>
<p>Any references beyond the table above must be manually corrected so that they are no longer dependent on parts of JBoss.</p>

<h3><a name="MigratingwiththeJ2GMigrationTool-SpecifyingadditionalOpenEJBassociationsforpersistence.xml"></a>Specifying additional OpenEJB associations for persistence.xml</h3>

<p>Additional drop-in replacements for JBoss specific annotations can be user-defined by modifying <b>&lt;ECLIPSE_HOME&gt;/plugins/org.apache.geronimo.j2g.descriptors.ejb/persistence_differences.properties</b> to include the proper relationship</p>

<p>Below is an example of the default persistence_differences.properties file</p>
<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>persistence_differences.properties</b></div><div class="codeContent">
<pre class="code-xml">#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the <span class="code-quote">"License"</span>); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an <span class="code-quote">"AS IS"</span> BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
###########################################################################
# Jboss persistence.xml property names and its analogies.
###########################################################################
hibernate.connection.url = openjpa.ConnectionURL
hibernate.connection.driver_class = openjpa.ConnectionDriverName
hibernate.connection.password = openjpa.ConnectionPassword
hibernate.connection.username = openjpa.ConnectionUserName
hibernate.hbm2ddl.auto = suggestion:openjpa.jdbc.SynchronizeMappings</pre>
</div></div>
<p>In order to just suggest to the user that X may be a replacement for Y (this is conditional because this is not a direct translation) the property can be written as <b>&lt;Y&gt; = suggestion:&lt;X&gt;</b>.</p>

<h2><a name="MigratingwiththeJ2GMigrationTool-RunningtheDescriptorsConversionToolEclipseGUI"></a>Running the Descriptors Conversion Tool - Eclipse GUI</h2>

<p>To run this component within the Eclipse IDE GUI, the left panel must first be in Navigator view.</p>

<p>Once in the Navigator view, it is possible to right click and select J2G Migration from the context menu.</p>

<p>Within the J2G Migration sub menu, select "2. Descriptors Conversion Tool (jdes2g)", and follow the prompts given.<br/>
Output will be displayed in the bottom portion of the Eclipse IDE, within the integrated Console window.</p>

<h2><a name="MigratingwiththeJ2GMigrationTool-RunningtheDescriptorsConversionToolCommandLine"></a>Running the Descriptors Conversion Tool - Command Line</h2>

<p>To start the Descriptors Conversion Tool run the following command from the j2g bin directory, again where &lt;APPLICATION&gt; represents the path to the application to be converted</p>

<p>&#42;<b>nix</b></p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>./jdesc2g.sh &lt;APPLICATION&gt;
</pre>
</div></div>
<p><b>Windows</b></p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>jdesc2g.bat &lt;APPLICATION&gt;
</pre>
</div></div>
<p>The warnings given in the output of this tool will report only unsupported elements that cannot be automatically converted, and must therefore be manually resolved and converted. This process is heavily dependent on the structure of the application being converted, and is therefore beyond the scope of this document.</p>

<h1><a name="MigratingwiththeJ2GMigrationTool-ResourceMigrationTool"></a>Resource Migration Tool</h1>


<h2><a name="MigratingwiththeJ2GMigrationTool-Description"></a>Description</h2>

<p>The Resource Migration Tool converts JBoss specific resources to their Geronimo equivalents. It processes the following types of resources:</p>
<ul>
	<li>JBoss/JCA data source descriptors (*-ds.xml files) defining JDBC connection pools and data sources. Since a data source depends on a database type, the tool performs automatic migration for the following well-known databases
	<ul>
		<li>DB2</li>
		<li>Derby</li>
		<li>Hypersonic</li>
		<li>Informix</li>
		<li>Microsoft SQL</li>
		<li>MySQL</li>
		<li>Oracle</li>
		<li>PostgreSQL</li>
		<li>Other data source definitions must be migrated manually. If a definition contains unknown parameters, the tool will indicate this with a warning message.</li>
	</ul>
	</li>
</ul>


<ul>
	<li>JBoss MBean descriptors (*-service.xml files). Only the following resource definitions will be migrated
	<ul>
		<li>javax.mail.Session</li>
		<li>javax.jms.QueueConnectionFactory</li>
		<li>javax.jms.TopicConnectionFactory</li>
		<li>javax.transaction.TransactionManager</li>
	</ul>
	</li>
</ul>


<ul>
	<li>JBoss security policy descriptors (login-config.xml) that provide JAAS login module configuration. The tool migrates Role and Policy definitions as well as User and Groups for the following JBoss login modules
	<ul>
		<li>org.jboss.security.auth.spi.IdentityLoginModule</li>
		<li>org.jboss.security.auth.spi.UsersRolesLoginModule</li>
		<li>org.jboss.security.auth.spi.LdapLoginModule</li>
		<li>org.jboss.security.auth.spi.DatabaseServerLoginModule</li>
	</ul>
	</li>
</ul>


<h2><a name="MigratingwiththeJ2GMigrationTool-RunningtheResourceMigrationToolEclipseGUI"></a>Running the Resource Migration Tool - Eclipse GUI</h2>

<p>To run this component within the Eclipse IDE GUI, the left panel must first be in Navigator view.</p>

<p>Once in the Navigator view, it is possible to right click and select J2G Migration from the context menu.</p>

<p>Within the J2G Migration sub menu, select "3. Resource Migration Tool (jres2g)", and follow the prompts given.<br/>
Output will be displayed in the bottom portion of the Eclipse IDE, within the integrated Console window.</p>

<h2><a name="MigratingwiththeJ2GMigrationTool-RunningtheResourceMigrationToolCommandLine"></a>Running the Resource Migration Tool - Command Line</h2>

<p>To start the Resource Migration Tool run the following command from the j2g bin directory, again where &lt;APPLICATION&gt; represents the path to the application to be converted</p>

<p>&#42;<b>nix</b></p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>./jres2g.sh &lt;APPLICATION&gt;
</pre>
</div></div>
<p><b>Windows</b></p>
<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
<pre>jres2g.bat &lt;APPLICATION&gt;
</pre>
</div></div>
<p>The tool will output the name of each resource that is to be migrated, as well as informational, error, and warning messages with associated file names and line numbers. If migration of a resource is completed without errors, the tool will output a success message and generate the migrated resource in the same folder as the original one.</p>

<p>As with the other tools, the Error and Warning messages must be manually corrected to complete the conversion process, again which is heavily application specific and is beyond the scope of this document.</p>

<h1><a name="MigratingwiththeJ2GMigrationTool-Completion"></a>Completion</h1>

<p>Once all of the above tools have been properly executed and there are no more errors or warnings, the converted application may now be built for Geronimo. Again, this is something that is extremely application specific and must be completely custom tailored in each individual situation.</p>

<p>After a successful build, the application should be able to be deployed in a running instance of Geronimo 2.0 without issue, however if it is not the errors displayed at deployment time must be resolved and the application must be rebuilt.</p></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