You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2010/11/03 00:33:09 UTC

svn commit: r1030286 [2/2] - in /incubator/isis/trunk/support/prototype: ./ dom/ dom/src/ dom/src/main/ dom/src/main/java/ dom/src/main/java/META-INF/ dom/src/main/java/org/ dom/src/main/java/org/apache/ dom/src/main/java/org/apache/isis/ dom/src/main/...

Added: incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/default.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/default.css?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/default.css (added)
+++ incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/default.css Tue Nov  2 23:33:06 2010
@@ -0,0 +1,897 @@
+/* Start Global styles */
+BODY {
+	font-family: Arial, Sans-Serif;
+	margin: 0 0 10px 0;
+	color: black;
+	background-color: white;
+/*
+	background: url(default-images/poweredby-logo.png);
+	background-repeat: no-repeat;
+	background-position: 95% 95%;
+*/
+}
+
+IMG {
+	border: 0;
+}
+
+A {
+	text-decoration: none;
+}
+
+A:hover {
+	text-decoration: underline;
+}
+
+/* End Global styles */ /* Start Heading */ 
+
+div#site-header:after {
+	bottom: 0px;
+	content: "version 7, modified by IH";
+	display: block;
+	text-align: right;
+	float:right;
+	bottom: 0;
+	font-size: 70%;
+	color: gray;
+}
+
+div#site-header {
+	background: url(images/banner-bg.png); 
+	background-repeat: repeat-x white-space :   nowrap;
+	list-style: none;
+	margin: 0px;
+	height: 124px;
+}
+
+div#site-logo {
+	background: url(images/banner.png);
+	background-repeat: no-repeat;
+	background-position: left;
+	position: absolute;
+	width: 769px;
+	height: 124px;
+	margin: 0 auto;
+}
+
+div#page-header {
+	display: none;
+}
+
+/* END Heading */
+DIV#body {
+	display: block;
+	padding-bottom: 10px;
+}
+
+div#navigation {
+	margin: 0;
+	padding: 0px;
+}
+
+/* Start options*/
+DIV.options {
+	background-color: #eeeeee;
+	margin: 0;
+	padding: 4px 0px 4px 5px;
+	min-height: 20px;
+	align: right;
+	float:right;
+}
+
+
+DIV.options H4 {
+	display: none;
+}
+
+DIV.options DIV.item {
+	display: inline;
+	border-right: 1px solid #000000;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #00000;
+	font-size: 70%;
+	margin: 0 6px 0 6px;
+	padding 0 0 0 0;
+	min-width: 200px;
+}
+
+DIV.options DIV.item IMG {
+	display: none;
+}
+
+DIV.options DIV.item a:link {
+	color: #000000;
+	text-decoration: none;
+	margin: 0 5px 0 0px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.options DIV.item a:hover {
+	background-color: #dddddd;
+	margin: 0 5px 0 0px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.options DIV.item a:visited {
+	color: #000000;
+	text-decoration: none;
+	margin: 0 5px 0 0px;
+	padding: 0 2px 0 0px;
+}
+
+/* End options */ 
+
+/* Start services */
+DIV.services {
+	background-color: #29357D;
+	margin: 0;
+	padding: 4px 20px 4px 5px;
+	min-height: 20px;
+
+}
+
+DIV.services H4 {
+	display: none;
+}
+
+DIV.services DIV.item {
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #ffffff;
+	font-size: 70%;
+	margin: 3px;
+}
+
+DIV.services DIV.item IMG {
+	display: none;
+}
+
+DIV.services DIV.item a:link {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item a:hover {
+	background-color: #2683E2;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item a:visited {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item-selected {
+	background-color: #2683E2;
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #ffffff;
+	font-size: 70%;
+}
+
+DIV.services DIV.item-selected a:link {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item-selected a:hover {
+	background-color: #556677;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item-selected a:visited {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+/* End services */ /* Start History */
+DIV.history {
+	background-color: #D6D6D6;
+	margin: 0;
+	padding: 1px 30px 0 5px;
+	min-height: 26px;
+}
+
+DIV.history H4 {
+	display: none;
+}
+
+DIV.history DIV.item {
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #29357D;
+	font-size: 70%;
+}
+
+DIV.history DIV.item IMG {
+	position: relative;
+	top: 4px;
+	height: 16px;
+	padding: 0 5px 0 0px;
+}
+
+DIV.history DIV.item a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 5px;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item a:hover {
+	background-color: #B7B6B6;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item-selected {
+	background-color: #2683E2;
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #29357D;
+	font-size: 70%;
+	height: 30px;
+}
+
+DIV.history DIV.item-selected a:hover {
+	background-color: #556677;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item-selected a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 10px;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item-selected a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+/* INVISIBLE character for empty item. FIREFOX ONLY*/
+DIV.history:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: #D6D6D6;
+}
+
+/* End History */ /* Start Context */
+div#context {
+	background-color: #F0F0F0;
+	margin: 0;
+	padding: 1px 30px 0 7px;
+	min-height: 26px;
+}
+
+div#context span.disabled {
+	display: inline;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #666666;
+	font-size: 70%;
+	padding: 0px 5px 0px 7px;
+	white-space: nowrap;
+}
+
+div#context span.disabled IMG {
+	display: none
+}
+
+div#context span.disabled a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 5px;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context span.disabled a:hover {
+	background-color: #B7B6B6;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context span.disabled a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context a.linked {
+	display: inline;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #29357D;
+	font-size: 70%;
+	padding: 0px 5px 0px 7px;
+}
+
+div#context a.linked IMG {
+	display: none
+}
+
+div#context a.linked a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 5px;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context a.linked  a:hover {
+	background-color: #29357D;
+	padding: 1px 3px 1px 3px;
+	text-decoration: underline;
+}
+
+div#context a.linked  a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+/* INVISIBLE character for empty breadcrumbs. FIREFOX ONLY*/
+span.disabled:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: #F0F0F0;
+}
+
+/* End Context */ /*
+div#help-bar {
+	position: relative;
+	right: 50px;
+	top: 10px;
+	text-align: right; 
+	font-family : arial, 'sans serif'; 
+	font-weight : normal;  
+	color: #0000FF; 
+	font-size : 90%; 
+	line-height : 110%;
+	text-decoration: underline;
+	height: 22px;
+}
+*/
+DIV#body DIV#view {
+	position: relative;
+	top: 0px;
+	left: 0px;
+	margin: 0px;
+}
+
+/* Start of Message Header */
+DIV.message-header {
+	position: relative;
+	top: 10px;
+	padding: 5px 25px 5px 25px;
+	margin: 0 50px 0 255px;
+	vertical-align: middle;
+	COLOR: #003366;
+	FONT-WEIGHT: bold;
+	FONT-SIZE: 80%;
+	LEFT: auto;
+	FONT-STYLE: normal;
+	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif;
+	width: 40%;
+}
+
+DIV.message-header DIV.warning {
+	COLOR: #ff0033;
+	padding: 5px 25px 5px 25px;
+	background: url(default-images/sign-warning.png);
+	background-repeat: no-repeat;
+	background-color: #D6D6D6;
+	background-position: 5px 5px;
+}
+
+DIV.message-header DIV.message {
+	COLOR: #003366;
+	padding: 5px 25px 5px 25px;
+	background: url(default-images/sign-info.png);
+	background-repeat: no-repeat;
+	background-color: #D6D6D6;
+	background-position: 5px 5px;
+}
+
+DIV.message-header DIV.message {
+	FONT-WEIGHT: normal;
+}
+
+/* End of Message Header */ /* Start of Object Header */
+DIV.header {
+	position: relative;
+	top: 40px;
+	display: block;
+	background-color: #F0F0F0;
+	min-height: 48px;
+	margin: 0 50px 0 280px;
+
+}
+
+SPAN.header-icon IMG {
+	float: left;
+}
+
+SPAN.header-text {
+	float: left;
+	position: relative;
+	top: 10px;
+	margin-left: 7px;
+	FONT-WEIGHT: bold;
+	FONT-SIZE: 16px;
+	LEFT: auto;
+	COLOR: #003366;
+	FONT-STYLE: normal;
+	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif;
+}
+
+/* End of Object Header */ /* Start of Object Contents */
+DIV#content {
+	position: relative;
+	display: block;
+	top: 40px;
+	margin: 0 50px 10px 280px;
+}
+
+/* Start of Object Fields */
+DIV.field {
+	margin: 0;
+	padding: 5px 0px 5px 0px;
+	border-top: 1px solid #666666;
+	min-height: 20px;
+}
+
+DIV.field SPAN.value IMG,DIV.field DIV.value IMG {
+	position: relative;
+	top: 3px;
+	margin: 0px 5px 0 0;
+	height: 16px;
+}
+
+DIV.field SPAN.value A,DIV.field DIV.value A {
+	position: relative;
+	top: -2px;
+	margin: 0px 5px 0 0;
+	height: 16px;
+}
+
+DIV.field DIV.icon IMG {
+	position: relative;
+	top: 0px;
+	margin: 0px 5px 0 0;
+	height: 16px;
+}
+
+.label,.value {
+	font-size: 80%;
+	color: #333399;
+}
+
+DIV.field DIV.icon {
+	display: inline;
+	color: #333399;
+	position: absolute;
+	left: 200px;
+}
+
+DIV.field span.label,DIV.field DIV.label {
+	width: 170px;
+	display: block;
+	/*content: ":";*/
+	margin: 0 0 -18px 7px;
+}
+
+DIV.field span.separator {
+	display: inline;
+	position: relative;
+	margin: 0 0 -15px 180px;
+	vertical-align: top;
+}
+
+DIV.field span.value, DIV.field DIV.value, DIV.field INPUT.value, DIV.field SELECT.value
+	{
+	top: -2px;
+	position: relative;
+	margin: 0px 10px -5px 0px;
+	display: inline;
+}
+
+DIV.field span.value PRE {
+	color: #333399;
+	margin: 0;
+	font-family: inherit;
+}
+
+
+DIV.field textarea.value {
+	font-family: inherit;
+}
+
+
+DIV.field span.optional {
+	margin: -35px 0 0 0;
+	font-size: 70%;
+	color: grey;
+}
+
+DIV.field span.required {
+	display: inline;
+	position: relative;
+	margin: 0;
+	vertical-align: top;
+	color: red;
+}
+
+DIV.field span.error {
+	display: inline;
+	position: relative;
+	color: red;
+	font-size: 70%;
+}
+
+/* INVISIBLE character for empty value FIREFOX ONLY*/
+DIV.field span.value:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: white;
+}
+
+/* INVISIBLE character for empty value FIREFOX ONLY*/
+DIV.field span.label:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: white;
+}
+
+/* End of Object Fields */ /* Start of Object Table */
+DIV#content TABLE {
+	position: relative;
+	float: left;
+	width: 100%;
+	border: 0;
+	margin: 0 0 10px 0;
+	border-collapse: collapse;
+}
+
+DIV#content TH {
+	padding: 6px;
+	border: 1px solid #ffffff;
+	background-color: #D6D6D6;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: black;
+	font-size: 70%;
+}
+
+DIV#content TD {
+	background-color: #ffffff;
+	border-right: 0;
+	border-left: 0;
+	border-bottom: 1px solid black;
+	padding: 6px;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	font-size: 80%;
+	color: #333399;
+	margin: 0;
+	text-align: left;
+}
+
+DIV#content TD.rowstart {
+	background-color: #F0F0F0;
+}
+
+DIV#content TD A:visited {
+	color: #0000FF;
+}
+
+DIV#content H4 {
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #000000;
+	font-size: 70%;
+	border-top: 1px solid black;
+	margin: -2px 0 0 0px;
+	padding: 5px;
+}
+
+TD DIV.icon {
+	font-size: 100%;
+	margin-top: 5px;
+}
+
+TD DIV.icon IMG {
+	float: left;
+	margin: -1px 5px 5px 0px;
+	height: 16px;
+}
+
+TD DIV.action-button {
+	background-color: #ffffff;
+	font-size: 130%;
+	text-decoration: none;
+}
+
+/* End of Object Table */
+INPUT.action-button,DIV.action-button {
+	background-color: #F0F0F0;
+	padding: 10px;
+	display: block;
+	margin: 0;
+	min-height: 20px;
+}
+
+INPUT.action-button,DIV.action-button A {
+	background: url(default-images/bg-button.gif);
+	background-repeat: repeat-x;
+	padding: 2px;
+	margin: 5px;
+	border: 1px solid #333399;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #000000;
+	font-size: 70%;
+	font-weight: normal;
+	text-align: center;
+}
+
+DIV.action-button a:link {
+	color: #000000;
+}
+
+DIV.action-button a:visited {
+	color: #000000;
+}
+
+DIV.action-button a:hover {
+	color: #000000;
+	text-decoration: none;
+}
+
+INPUT.action-button,DIV.action-button INPUT {
+	float: left;
+}
+
+/* End of Object Contents */ /* Start of Object Actions Menu */
+DIV#body DIV#view DIV#menu {
+	position: relative;
+	top: 40px;
+	left: 0;
+	background-color: #ffffff;
+	border-top: 1px solid #00336F;
+	margin: 0px;
+	width: 210px;
+	display: block;
+	float: left;
+}
+
+DIV#body DIV#menu H3 {
+	display: none;
+}
+
+DIV#menu SPAN.name {
+	display: block;
+	font-size: 80%;
+	background-color: #ffffff;
+	color: #333399;
+	line-height: 100%;
+	margin: 0 0 0 10px;
+}
+
+DIV.menu-item  a:link {
+	color: #333399;
+}
+
+DIV.menu-item  a:visited {
+	color: #333399;
+}
+
+DIV.submenu-item {
+	font-size: 80%;
+	background-color: #ffffff;
+	color: #1A59A7;
+	margin: 0px;
+	padding: 5px 0px 5px 10px;
+	border-bottom: 1px solid #00336F;
+	line-height: 100%;
+}
+
+DIV.submenu-item DIV.menu-item {
+	background: url(default-images/submenu-bullet.gif);
+	background-repeat: no-repeat;
+	background-position: left;
+	background-color: #ffffff;
+	margin: 0px;
+	line-height: 100%;
+	border: 0;
+	padding: 4px 5px 0px 10px;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #1A59A7;
+	font-size: 85%;
+}
+
+DIV.menu-item {
+	background-color: #ffffff;
+	margin: 0px;
+	line-height: 110%;
+	border-bottom: 1px solid #00336F;
+	padding: 5px 5px 5px 10px;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #1A59A7;
+	font-size: 80%;
+}
+
+DIV.menu-item DIV.disabled {
+	color: #a0a0a0;
+}
+
+DIV.menu-item a:link {
+	color: #1A59A7;
+}
+
+DIV.menu-item a:visited {
+	color: #1A59A7;
+}
+
+DIV.menu-item a:hover {
+	color: #006666;
+	text-decoration: underline;
+}
+
+DIV.submenu-item DIV.menu-item a:link {
+	color: #1A59A7;
+}
+
+DIV.submenu-item DIV.menu-item a:visited {
+	color: #1A59A7;
+}
+
+DIV.submenu-item DIV.menu-item a:hover {
+	color: #006666;
+	text-decoration: underline;
+}
+
+/* End of Object Menu */
+DIV.page-footer {
+	position: absolute;
+	right: 10px;
+	bottom: 10px;
+	font-size: 50%;
+	color: #333399;
+}
+
+H1 {
+	font-size: 140%;
+	margin-top: -8px;
+}
+
+H2 {
+	font-size: 90%;
+	color: #333399;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 0;
+}
+
+H3 {
+	font-size: 80%;
+	color: #ffffff;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 15px 10px 5px 10px;
+}
+
+H4 {
+	font-size: 80%;
+	color: #333399;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 10px 10px 0px 10px;
+}
+
+DIV.text {
+	font-size: 100%;
+	color: #336699;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 10px 10px 0px 10px;
+}
+
+DIV.error {
+	font-size: 120%;
+	color: #cc0000;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 10px 10px 0px 10px;
+}
+
+PRE.error-trace {
+	font-size: 80%;
+	color: #cc0000;
+	margin: 10px 10px 0px 10px;
+}
+
+DIV#debug { /*	float: left;*/
+	background-color: #F0F0F0;
+	margin: 30px;
+	padding: 1px 10px 0 7px;
+	min-height: 22px;
+	border: 1px;
+}
+
+DIV#debug H4 {
+	display: inline;
+	font-size: 80%;
+	color: #999;
+	margin: 0 5px 0 10px;
+}
+
+DIV#debug DIV.detail {
+	display: inline;
+	font-size: 80%;
+	color: #999;
+	margin: 0 5px 0 10px;
+}
+
+DIV#page-footer {
+	display: none;
+}
+
+SPAN.message {
+	position: relative;
+	top: 30px;
+	font-size: 100%;
+	color: #336699;
+	margin: 40px 0 0 0;
+	padding: 10px;
+}
+/* Think this is now redundant
+DIV.items {
+	position: relative;
+} 
+*/
+
+
+SPAN.about {
+	display: block;
+	padding: 4px;
+}
+
+
+SPAN.user {
+	display: block;
+	padding: 4px;
+}

Added: incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner-bg.png
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner-bg.png?rev=1030286&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner-bg.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner.jpg
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner.jpg?rev=1030286&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner.png
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner.png?rev=1030286&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/isis/trunk/support/prototype/viewer-html/src/main/webapp/images/banner.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/isis/trunk/support/prototype/viewer-wicket/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/pom.xml?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/pom.xml (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/pom.xml Tue Nov  2 23:33:06 2010
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.isis.support</groupId>
+        <artifactId>prototype</artifactId>
+        <version>0.1-SNAPSHOT</version>
+    </parent>
+
+	<name>Prototype Wicket Viewer</name>
+	<artifactId>prototype-viewer-wicket</artifactId>
+
+	<properties>
+		<jetty.version>6.1.4</jetty.version>
+	</properties>
+
+	<build>
+	  <resources>
+	    <resource>
+	      <filtering>false</filtering>
+	         <directory>src/main/resources</directory>
+	    </resource>
+	    <resource>
+	       <filtering>false</filtering>
+	       <directory>src/main/java</directory>
+	       <includes>
+	          <include>**</include>
+	       </includes>
+	       <excludes>
+	           <exclude>**/*.java</exclude>
+	       </excludes>
+	    </resource>
+	  </resources>
+	</build>
+
+	<dependencies>
+	
+		<!-- other modules in this project -->
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>prototype-dom</artifactId>
+		</dependency>
+
+		<!-- Wicket Viewer -->
+		<dependency>
+			<groupId>org.apache.isis.viewer</groupId>
+			<artifactId>wicket-viewer</artifactId>
+		</dependency>
+	</dependencies>
+
+</project>

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/app/ClaimsApplication.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/app/ClaimsApplication.java?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/app/ClaimsApplication.java (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/app/ClaimsApplication.java Tue Nov  2 23:33:06 2010
@@ -0,0 +1,45 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+
+package org.apache.isis.support.prototype.viewer.wicket.app;
+
+import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.util.Modules;
+
+
+public class ClaimsApplication extends IsisWicketApplication {
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    protected Module newIsisWicketModule() {
+        return Modules.override(
+                super.newIsisWicketModule()).with(
+                    new AbstractModule() {
+                        @Override
+                        protected void configure() {
+                            //bindConstant().annotatedWith(ApplicationCssUrl.class).to("myapp.css");
+                        }
+                    });
+    }
+}

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardComponentFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardComponentFactory.java?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardComponentFactory.java (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardComponentFactory.java Tue Nov  2 23:33:06 2010
@@ -0,0 +1,59 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+
+package org.apache.isis.support.prototype.viewer.wicket.claimwizard;
+
+
+import org.apache.isis.metamodel.spec.ObjectSpecification;
+import org.apache.isis.support.prototype.dom.claim.ClaimWizard;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
+import org.apache.isis.viewer.wicket.ui.ComponentType;
+import org.apache.isis.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
+import org.apache.wicket.Component;
+import org.apache.wicket.model.IModel;
+
+public class ClaimWizardComponentFactory extends EntityComponentFactoryAbstract {
+
+	private static final long serialVersionUID = 1L;
+
+	private static final String NAME = "wizard";
+
+	public ClaimWizardComponentFactory() {
+		super(ComponentType.ENTITY, NAME);
+	}
+
+	@Override
+	protected ApplicationAdvice appliesTo(IModel<?> model) {
+		return appliesExclusivelyIf(super.appliesTo(model).applies() && isModelForWizard((EntityModel)model));
+	}
+
+	private boolean isModelForWizard(EntityModel model) {
+		final ObjectSpecification typeOfSpec = model.getTypeOfSpecification();
+		final ObjectSpecification claimWizardSpec = getSpecificationLoader().loadSpecification(ClaimWizard.class);
+		return typeOfSpec.isOfType(claimWizardSpec);
+	}
+	
+	@Override
+	public Component createComponent(String id, IModel<?> model) {
+		final EntityModel entityModel = (EntityModel)model;
+		return new ClaimWizardPanel(id, entityModel);
+	}
+
+}

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.css?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.css (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.css Tue Nov  2 23:33:06 2010
@@ -0,0 +1,7 @@
+.claimWizard .buttons {
+	clear: both;
+}
+.claimWizard input.submit {
+	margin-top: 1em;
+}
+

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.html
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.html?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.html (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.html Tue Nov  2 23:33:06 2010
@@ -0,0 +1,23 @@
+<html>
+<body>
+<wicket:panel>
+	<div class="claimWizard">
+	<form wicket:id="claimWizardPropertiesForm" class="inputForm">
+	<fieldset class="inputFormTable properties">
+		<div wicket:id="properties">
+			<div wicket:id="property" class="propertyOrCollection">[scalar]</div>
+		</div>
+		<div class="feedbackPanel">
+			<span wicket:id="feedback" />
+		</div>
+		<div class="buttons">
+			<input class="submit" type="submit" wicket:id="previous" /> 
+			<input class="submit" type="submit" wicket:id="next" />
+			<input class="submit" type="submit" wicket:id="finish" />
+		</div>
+	</fieldset>
+	</form>
+	</div>
+</wicket:panel>
+</body>
+</html>

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.java?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.java (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/java/org/apache/isis/support/prototype/viewer/wicket/claimwizard/ClaimWizardPanel.java Tue Nov  2 23:33:06 2010
@@ -0,0 +1,161 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+
+package org.apache.isis.support.prototype.viewer.wicket.claimwizard;
+
+import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.facets.object.validate.ValidateObjectFacet;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
+import org.apache.isis.viewer.wicket.ui.panels.ProcessObjectPanelAbstract;
+import org.apache.wicket.Session;
+import org.apache.wicket.feedback.FeedbackMessage;
+import org.apache.wicket.markup.html.form.Button;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.markup.html.form.validation.AbstractFormValidator;
+import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.Model;
+
+
+public class ClaimWizardPanel extends ProcessObjectPanelAbstract {
+
+    private static final long serialVersionUID = 1L;
+
+    private static final String ID_CLAIM_WIZARD_PROPERTIES_FORM = "claimWizardPropertiesForm";
+    private static final String ID_PROPERTIES = "properties";
+    private static final String ID_PROPERTY = "property";
+
+    public ClaimWizardPanel(String id, EntityModel model) {
+        super(id, model);
+        buildGui();
+    }
+
+    private ClaimWizardForm claimWizardForm;
+
+    private void buildGui() {
+        EntityModel entityModel = getModel();
+        entityModel.toEditMode();
+
+        claimWizardForm = new ClaimWizardForm(ID_CLAIM_WIZARD_PROPERTIES_FORM,
+                getModel());
+        addOrReplace(claimWizardForm);
+    }
+
+    class ClaimWizardForm extends Form<ObjectAdapter> {
+
+        private static final long serialVersionUID = 1L;
+
+        private static final String ID_FEEDBACK = "feedback";
+        private static final String ID_PREVIOUS = "previous";
+        private static final String ID_NEXT = "next";
+        private static final String ID_FINISH = "finish";
+
+        private static final String PREVIOUS_ACTION_ID = "previous()";
+        private static final String NEXT_ACTION_ID = "next()";
+        private static final String FINISH_ACTION_ID = "finish()";
+
+        private FeedbackPanel feedback;
+
+        public ClaimWizardForm(String id, EntityModel entityModel) {
+            super(id, entityModel);
+
+            buildFormGui();
+        }
+
+        private void buildFormGui() {
+            addProperties(this, ID_PROPERTIES, ID_PROPERTY);
+            addButtons();
+            addFeedbackGui();
+
+            addValidator();
+        }
+
+        private void addButtons() {
+            add(createButton(ID_PREVIOUS, "Previous", PREVIOUS_ACTION_ID));
+            add(createButton(ID_NEXT, "Next", NEXT_ACTION_ID));
+            add(createButton(ID_FINISH, "Finish", FINISH_ACTION_ID));
+        }
+
+        private Button createButton(final String id, final String label,
+                final String actionId) {
+            return new Button(id, Model.of(label)) {
+                private static final long serialVersionUID = 1L;
+
+                @Override
+                public void onSubmit() {
+                    boolean isValid = ClaimWizardPanel.this.isValid(getForm());
+                    if (!isValid) {
+                        return;
+                    }
+
+                    executeNoArgAction(actionId);
+                }
+            };
+        }
+
+        private void addFeedbackGui() {
+            final FeedbackPanel feedback = addOrReplaceFeedback();
+
+            ObjectAdapter adapter = getModel().getObject();
+            if (adapter == null) {
+                feedback.error("cannot locate object:"
+                        + getEntityModel().getObjectAdapterMemento().toString());
+            }
+        }
+
+        private FeedbackPanel addOrReplaceFeedback() {
+            feedback = new ComponentFeedbackPanel(ID_FEEDBACK, this);
+            feedback.setOutputMarkupPlaceholderTag(true);
+            addOrReplace(feedback);
+            return feedback;
+        }
+
+        private void addValidator() {
+            add(new AbstractFormValidator() {
+
+                private static final long serialVersionUID = 1L;
+
+                @Override
+                public FormComponent<?>[] getDependentFormComponents() {
+                    return new FormComponent<?>[0];
+                }
+
+                @Override
+                public void validate(Form<?> form) {
+                    EntityModel entityModel = (EntityModel) getModel();
+                    ObjectAdapter adapter = entityModel.getObject();
+                    ValidateObjectFacet facet = adapter.getSpecification()
+                            .getFacet(ValidateObjectFacet.class);
+                    if (facet == null) {
+                        return;
+                    }
+                    String invalidReasonIfAny = facet.invalidReason(adapter);
+                    if (invalidReasonIfAny != null) {
+                        Session.get().getFeedbackMessages().add(
+                                new FeedbackMessage(form, invalidReasonIfAny,
+                                        FeedbackMessage.ERROR));
+                    }
+                }
+            });
+        }
+    }
+
+}

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/META-INF/services/org.apache.isis.extensions.wicket.ui.ComponentFactory
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/META-INF/services/org.apache.isis.extensions.wicket.ui.ComponentFactory?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/META-INF/services/org.apache.isis.extensions.wicket.ui.ComponentFactory (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/META-INF/services/org.apache.isis.extensions.wicket.ui.ComponentFactory Tue Nov  2 23:33:06 2010
@@ -0,0 +1 @@
+org.apache.isis.extensions.wicket.testapp.claims.ui.claimwizard.ClaimWizardComponentFactory
\ No newline at end of file

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/css/application.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/css/application.css?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/css/application.css (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/css/application.css Tue Nov  2 23:33:06 2010
@@ -0,0 +1,12 @@
+/*
+div.entitySummary > label.entityTitle {
+	color: maroon;
+	font-size: xx-large;
+	font-weight: bolder;
+}
+.Claim-description .scalarName {
+  color: maroon;
+  font-weight: bolder;
+}
+
+*/
\ No newline at end of file

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/images/Default.png
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/images/Default.png?rev=1030286&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/resources/images/Default.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/META-INF/MANIFEST.MF?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/META-INF/MANIFEST.MF (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/META-INF/MANIFEST.MF Tue Nov  2 23:33:06 2010
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+

Added: incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/WEB-INF/web.xml?rev=1030286&view=auto
==============================================================================
--- incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/WEB-INF/web.xml (added)
+++ incubator/isis/trunk/support/prototype/viewer-wicket/src/main/webapp/WEB-INF/web.xml Tue Nov  2 23:33:06 2010
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+	version="2.4">
+
+	<display-name>claims</display-name>
+
+	<!--
+		There are three means to configure Wickets configuration mode and they
+		are tested in the order given. 1) A system property:
+		-Dwicket.configuration 2) servlet specific <init-param> 3) context
+		specific <context-param> The value might be either "development"
+		(reloading when templates change) or "deployment". If no configuration
+		is found, "development" is the default.
+	-->
+
+	<filter>
+		<filter-name>wicket.claims</filter-name>
+		<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
+		<init-param>
+			<param-name>applicationClassName</param-name>
+			<param-value>org.starobjects.wicket.viewer.app.IsisWicketApplication</param-value>
+			<!--
+			<param-value>org.nakedobjects.examples.claims.ClaimsApplication</param-value>
+			-->
+		</init-param>
+	</filter>
+
+	<filter-mapping>
+		<filter-name>wicket.claims</filter-name>
+		<url-pattern>/*</url-pattern>
+	</filter-mapping>
+
+
+</web-app>