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 2013/03/28 11:35:26 UTC
[02/20] ISIS-381: mothballing HTML viewer, SQL security, LDAP security
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml b/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..43154f5
--- /dev/null
+++ b/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<web-app id="WebApp_ID" version="2.4"
+ 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">
+
+ <display-name>Apache Isis HTML Viewer</display-name>
+
+ <listener>
+ <listener-class>org.apache.isis.core.webapp.IsisWebAppBootstrapper</listener-class>
+ </listener>
+
+ <context-param>
+ <param-name>isis.viewers</param-name>
+ <param-value>html</param-value>
+ </context-param>
+
+ <filter>
+ <filter-name>IsisSessionFilter</filter-name>
+ <filter-class>org.apache.isis.core.webapp.IsisSessionFilter</filter-class>
+ <init-param>
+ <param-name>logonPage</param-name>
+ <param-value>/logon.app</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>ResourceCachingFilter</filter-name>
+ <filter-class>org.apache.isis.core.webapp.content.ResourceCachingFilter</filter-class>
+ <init-param>
+ <param-name>CacheTime</param-name>
+ <param-value>86400</param-value>
+ </init-param>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>ResourceCachingFilter</filter-name>
+ <url-pattern>*.css</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>ResourceCachingFilter</filter-name>
+ <url-pattern>*.png</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>ResourceCachingFilter</filter-name>
+ <url-pattern>*.jpg</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>ResourceCachingFilter</filter-name>
+ <url-pattern>*.gif</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>IsisSessionFilter</filter-name>
+ <url-pattern>*.app</url-pattern>
+ </filter-mapping>
+
+ <servlet>
+ <servlet-name>Logon</servlet-name>
+ <servlet-class>org.apache.isis.viewer.html.servlet.LogonServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>Controller</servlet-name>
+ <servlet-class>org.apache.isis.viewer.html.servlet.ControllerServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>Resource</servlet-name>
+ <servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>Forward</servlet-name>
+ <servlet-class>org.apache.isis.core.webapp.routing.ForwardingServlet</servlet-class>
+ <init-param>
+ <param-name>forwardTo</param-name>
+ <param-value>logon.app</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Logon</servlet-name>
+ <url-pattern>/logon.app</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>Controller</servlet-name>
+ <url-pattern>*.app</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>Resource</servlet-name>
+ <url-pattern>*.css</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Resource</servlet-name>
+ <url-pattern>*.png</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Resource</servlet-name>
+ <url-pattern>*.jpg</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Resource</servlet-name>
+ <url-pattern>*.gif</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Forward</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+
+</web-app>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/default.css
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/default.css b/mothballed/component/viewer/html/tck/src/main/webapp/default.css
new file mode 100644
index 0000000..04efa7d
--- /dev/null
+++ b/mothballed/component/viewer/html/tck/src/main/webapp/default.css
@@ -0,0 +1,933 @@
+/*
+ * 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.
+ */
+/* Start Global styles */
+
+body {
+ background: #101254;
+ text-align: center;
+}
+#wrapper {
+ width: 980px;
+ min-height: 800px;
+ border:3px solid #7F81C0;
+ margin:8px auto;
+ text-align: left;
+ background: white;
+}
+
+.header-icon > img {
+ max-width: 40px;
+ height: 40px;
+}
+
+BODY {
+ font-family: Arial, Sans-Serif;
+ margin: 0 0 10px 0;
+ color: black;
+
+/*
+ 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;
+ 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: 100px;
+}
+
+div#site-logo {
+ background: url(images/banner.png);
+ background-repeat: no-repeat;
+ background-position: left;
+ position: absolute;
+ width: 980px;
+ height: 100px;
+ 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: #7F81C0;
+ 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;
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png
new file mode 100644
index 0000000..c731c15
Binary files /dev/null and b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png
new file mode 100644
index 0000000..adf2159
Binary files /dev/null and b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/log4j.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/log4j.properties b/mothballed/example/application/quickstart_html_sql/dom/log4j.properties
new file mode 100644
index 0000000..281bfb6
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/log4j.properties
@@ -0,0 +1,24 @@
+# LOG4J Configuration
+# ===================
+
+# Basic logging goes to "datanucleus.log"
+log4j.appender.A1=org.apache.log4j.FileAppender
+log4j.appender.A1.File=datanucleus.log
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
+#log4j.appender.A1.Threshold=INFO
+
+# Categories
+# Each category can be set to a "level", and to direct to an appender
+
+# Default to DEBUG level for all DataNucleus categories
+log4j.logger.DataNucleus = DEBUG, A1
+
+log4j.category.com.mchange.v2.c3p0=INFO, A1
+log4j.category.com.mchange.v2.resourcepool=INFO, A1
+log4j.category.org.logicalcobwebs.proxool=INFO,A1
+
+
+# Hbase libs logging
+log4j.category.org.apache.hadoop=INFO,A1
+log4j.category.org.apache.zookeeper=INFO,A1
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/pom.xml b/mothballed/example/application/quickstart_html_sql/dom/pom.xml
new file mode 100644
index 0000000..409e8db
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<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.example.application</groupId>
+ <artifactId>quickstart_html_sql</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>quickstart_html_sql-dom</artifactId>
+ <name>Quickstart (HTML/SQL) DOM</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-applib</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java
new file mode 100644
index 0000000..e8af026
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java
@@ -0,0 +1,225 @@
+/*
+ * 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 dom.todo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.MemberGroups;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.MultiLine;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.applib.annotation.Optional;
+import org.apache.isis.applib.annotation.Resolve;
+import org.apache.isis.applib.annotation.Resolve.Type;
+import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.annotation.Where;
+import org.joda.time.LocalDate;
+
+@ObjectType("TODO")
+@MemberGroups({"General", "Detail"})
+public class ToDoItem {
+
+ public static enum Category {
+ Professional, Domestic, Other;
+ }
+
+ // {{ Description
+ private String description;
+
+ @Title
+ @MemberOrder(sequence = "1")
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(final String description) {
+ this.description = description;
+ }
+ // }}
+
+ // {{ Category
+ private Category category;
+
+ @MemberOrder(sequence = "2")
+ public Category getCategory() {
+ return category;
+ }
+
+ public void setCategory(final Category category) {
+ this.category = category;
+ }
+ // }}
+
+ // {{ DueBy (property)
+ private LocalDate dueBy;
+
+ @MemberOrder(name="Detail", sequence = "3")
+ @Optional
+ public LocalDate getDueBy() {
+ return dueBy;
+ }
+
+ public void setDueBy(final LocalDate dueBy) {
+ this.dueBy = dueBy;
+ }
+ // }}
+
+ // {{ Done
+ private boolean done;
+
+ @Disabled
+ @MemberOrder(sequence = "4")
+ public boolean getDone() {
+ return done;
+ }
+
+ public void setDone(final boolean done) {
+ this.done = done;
+ }
+ // }}
+
+ // {{ Notes (property)
+ private String notes;
+
+ @Hidden(where=Where.ALL_TABLES)
+ @Optional
+ @MultiLine(numberOfLines=5)
+ @MemberOrder(name="Detail", sequence = "6")
+ public String getNotes() {
+ return notes;
+ }
+
+ public void setNotes(final String notes) {
+ this.notes = notes;
+ }
+ // }}
+
+ // {{ OwnedBy (property, hidden)
+ private String ownedBy;
+
+ @Hidden
+ public String getOwnedBy() {
+ return ownedBy;
+ }
+
+ public void setOwnedBy(final String ownedBy) {
+ this.ownedBy = ownedBy;
+ }
+ // }}
+
+ // {{ markAsDone (action)
+ @MemberOrder(sequence = "1")
+ public ToDoItem markAsDone() {
+ setDone(true);
+ return this;
+ }
+
+ public String disableMarkAsDone() {
+ return done ? "Already done" : null;
+ }
+ // }}
+
+ // {{ markAsNotDone (action)
+ @MemberOrder(sequence = "2")
+ public ToDoItem markAsNotDone() {
+ setDone(false);
+ return this;
+ }
+
+ public String disableMarkAsNotDone() {
+ return !done ? "Not yet done" : null;
+ }
+ // }}
+
+ // {{ dependencies (Collection)
+ private List<ToDoItem> dependencies = new ArrayList<ToDoItem>();
+
+ @Disabled
+ @MemberOrder(sequence = "1")
+ @Resolve(Type.EAGERLY)
+ public List<ToDoItem> getDependencies() {
+ return dependencies;
+ }
+
+ public void setDependencies(final List<ToDoItem> dependencies) {
+ this.dependencies = dependencies;
+ }
+ // }}
+
+ // {{ add (action)
+ @MemberOrder(name="dependencies", sequence = "3")
+ public ToDoItem add(final ToDoItem toDoItem) {
+ getDependencies().add(toDoItem);
+ return this;
+ }
+ public String validateAdd(final ToDoItem toDoItem) {
+ if(getDependencies().contains(toDoItem)) {
+ return "Already a dependency";
+ }
+ if(toDoItem == this) {
+ return "Can't set up a dependency to self";
+ }
+ return null;
+ }
+ // }}
+
+ // {{ remove (action)
+ @MemberOrder(name="dependencies", sequence = "4")
+ public ToDoItem remove(final ToDoItem toDoItem) {
+ getDependencies().remove(toDoItem);
+ return this;
+ }
+ public String disableRemove(final ToDoItem toDoItem) {
+ return getDependencies().isEmpty()? "No dependencies to remove": null;
+ }
+ public String validateRemove(final ToDoItem toDoItem) {
+ if(!getDependencies().contains(toDoItem)) {
+ return "Not a dependency";
+ }
+ return null;
+ }
+ public List<ToDoItem> choices0Remove() {
+ return getDependencies();
+ }
+ // }}
+
+ // {{ injected: DomainObjectContainer
+ @SuppressWarnings("unused")
+ private DomainObjectContainer container;
+
+ public void setDomainObjectContainer(final DomainObjectContainer container) {
+ this.container = container;
+ }
+ // }}
+
+ // {{ injected: ToDoItems
+ @SuppressWarnings("unused")
+ private ToDoItems toDoItems;
+
+ public void setToDoItems(final ToDoItems toDoItems) {
+ this.toDoItems = toDoItems;
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java
new file mode 100644
index 0000000..6d4c12d
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java
@@ -0,0 +1,139 @@
+/*
+ * 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 dom.todo;
+
+import java.util.List;
+
+import com.google.common.base.Objects;
+
+import dom.todo.ToDoItem.Category;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
+import org.apache.isis.applib.filter.Filter;
+
+@Named("ToDos")
+public class ToDoItems extends AbstractFactoryAndRepository {
+
+ // {{ Id, iconName
+ @Override
+ public String getId() {
+ return "toDoItems";
+ }
+
+ public String iconName() {
+ return "ToDoItem";
+ }
+ // }}
+
+ // {{ notYetDone (action)
+ @ActionSemantics(Of.SAFE)
+ @MemberOrder(sequence = "1")
+ public List<ToDoItem> notYetDone() {
+ return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+ @Override
+ public boolean accept(final ToDoItem t) {
+ return ownedByCurrentUser(t) && !t.getDone();
+ }
+ });
+ }
+ // }}
+
+ // {{ done (action)
+ @ActionSemantics(Of.SAFE)
+ @MemberOrder(sequence = "2")
+ public List<ToDoItem> done() {
+ return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+ @Override
+ public boolean accept(final ToDoItem t) {
+ return ownedByCurrentUser(t) && t.getDone();
+ }
+ });
+ }
+ // }}
+
+ // {{ newToDo (action)
+ @MemberOrder(sequence = "2")
+ public ToDoItem newToDo(
+ @Named("Description") String description,
+ @Named("Category") Category category) {
+ final String ownedBy = getContainer().getUser().getName();
+ return newToDo(description, category, ownedBy);
+ }
+ // }}
+
+ // {{ newToDo (hidden)
+ @Hidden // for use by fixtures
+ public ToDoItem newToDo(
+ String description,
+ Category category,
+ String ownedBy) {
+ final ToDoItem toDoItem = newTransientInstance(ToDoItem.class);
+ toDoItem.setDescription(description);
+ toDoItem.setCategory(category);
+ toDoItem.setOwnedBy(ownedBy);
+ persist(toDoItem);
+ return toDoItem;
+ }
+ // }}
+
+ // {{ similarTo (action)
+ @NotInServiceMenu
+ @ActionSemantics(Of.SAFE)
+ @MemberOrder(sequence = "3")
+ public List<ToDoItem> similarTo(final ToDoItem toDoItem) {
+ return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+ @Override
+ public boolean accept(ToDoItem t) {
+ return t != toDoItem && Objects.equal(toDoItem.getCategory(), t.getCategory()) && Objects.equal(toDoItem.getOwnedBy(), t.getOwnedBy());
+ }
+ });
+ }
+ // }}
+
+ // {{ autoComplete (hidden)
+ @Hidden
+ @MemberOrder(sequence = "1")
+ public List<ToDoItem> autoComplete(final String description) {
+ return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+ @Override
+ public boolean accept(final ToDoItem t) {
+ return ownedByCurrentUser(t) && t.getDescription().contains(description);
+ }
+
+ });
+ }
+ // }}
+
+ // {{ helpers
+ protected boolean ownedByCurrentUser(final ToDoItem t) {
+ return Objects.equal(t.getOwnedBy(), currentUserName());
+ }
+ protected String currentUserName() {
+ return getContainer().getUser().getName();
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png
new file mode 100644
index 0000000..950d792
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif
new file mode 100644
index 0000000..cc536e1
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/pom.xml b/mothballed/example/application/quickstart_html_sql/fixture/pom.xml
new file mode 100644
index 0000000..26d3c53
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<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.example.application</groupId>
+ <artifactId>quickstart_html_sql</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>quickstart_html_sql-fixture</artifactId>
+
+ <name>Quickstart (HTML/SQL) Fixtures</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>quickstart_html_sql-dom</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java
new file mode 100644
index 0000000..5bdc6fe
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java
@@ -0,0 +1,30 @@
+/*
+ * 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 fixture;
+
+import org.apache.isis.applib.fixtures.LogonFixture;
+
+public class LogonAsSvenFixture extends LogonFixture {
+
+ public LogonAsSvenFixture() {
+ super("sven");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
new file mode 100644
index 0000000..b0c7b61
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
@@ -0,0 +1,74 @@
+/*
+ * 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 fixture.todo;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItems;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+
+public class ToDoItemsFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createFiveFor("sven");
+ createThreeFor("dick");
+ createTwoFor("bob");
+ createOneFor("joe");
+
+ // for exploration user
+ createFiveFor("exploration");
+ }
+
+ private void createFiveFor(String ownedBy) {
+ createToDoItem("Buy milk", Category.Domestic, ownedBy);
+ createToDoItem("Pick up laundry", Category.Domestic, ownedBy);
+ createToDoItem("Buy stamps", Category.Domestic, ownedBy);
+ createToDoItem("Write blog post", Category.Professional, ownedBy);
+ createToDoItem("Organize brown bag", Category.Professional, ownedBy);
+ }
+
+ private void createThreeFor(String ownedBy) {
+ createToDoItem("Book car in for service", Category.Domestic, ownedBy);
+ createToDoItem("Buy birthday present for sven", Category.Domestic, ownedBy);
+ createToDoItem("Write presentation for conference", Category.Professional, ownedBy);
+ }
+
+ private void createTwoFor(String ownedBy) {
+ createToDoItem("Write thank you notes", Category.Domestic, ownedBy);
+ createToDoItem("Look into solar panels", Category.Domestic, ownedBy);
+ }
+
+ private void createOneFor(String ownedBy) {
+ createToDoItem("Pitch book idea to publisher", Category.Professional, ownedBy);
+ }
+
+ private ToDoItem createToDoItem(final String description, Category category, String ownedBy) {
+ return toDoItems.newToDo(description, category, ownedBy);
+ }
+
+ private ToDoItems toDoItems;
+
+ public void setToDoItems(final ToDoItems toDoItems) {
+ this.toDoItems = toDoItems;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
new file mode 100644
index 0000000..ddb1203
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
@@ -0,0 +1,46 @@
+/*
+ * 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 fixture.todo;
+
+import dom.todo.ToDoItems;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.annotation.Named;
+
+/**
+ * Enables fixtures to be installed from the application.
+ */
+@Named("Fixtures")
+public class ToDoItemsFixturesService extends AbstractService {
+
+ public void install() {
+ final ToDoItemsFixture fixture = new ToDoItemsFixture();
+ fixture.setContainer(getContainer());
+ fixture.setToDoItems(toDoItems);
+ fixture.install();
+ }
+
+ private ToDoItems toDoItems;
+
+ public void setToDoItems(final ToDoItems toDoItems) {
+ this.toDoItems = toDoItems;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/pom.xml b/mothballed/example/application/quickstart_html_sql/pom.xml
new file mode 100644
index 0000000..b2f3e61
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/pom.xml
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<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>
+
+ <groupId>org.apache.isis.example.application</groupId>
+ <artifactId>quickstart_html_sql</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+
+ <name>Quickstart (HTML/SQL) App</name>
+
+ <packaging>pom</packaging>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+ <isis.version>1.1.1-SNAPSHOT</isis.version>
+ <isis-objectstore-sql.version>1.0.0-SNAPSHOT</isis-objectstore-sql.version>
+ <isis-objectstore-xml.version>1.0.0-SNAPSHOT</isis-objectstore-xml.version>
+ <isis-viewer-dnd.version>1.0.0-SNAPSHOT</isis-viewer-dnd.version>
+ <isis-viewer-scimpi.version>1.0.0-SNAPSHOT</isis-viewer-scimpi.version>
+ <isis-viewer-html.version>1.0.0-SNAPSHOT</isis-viewer-html.version>
+ <isis-security-file.version>1.0.1-SNAPSHOT</isis-security-file.version>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>apache.snapshots</id>
+ <name>Apache Snapshots</name>
+ <url>https://repository.apache.org/content/repositories/snapshots/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ <executions>
+ <execution>
+ <id>source</id>
+ <phase>compile</phase>
+ </execution>
+ <execution>
+ <id>test</id>
+ <phase>test-compile</phase>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.5</version>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ <useFile>true</useFile>
+ <printSummary>false</printSummary>
+ <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>2.5</version>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ <showSuccess>false</showSuccess>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>test</phase>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.25</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>1.4</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.6</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- http://simplericity.com/2009/11/10/1257880778509.html -->
+ <plugin>
+ <groupId>org.simplericity.jettyconsole</groupId>
+ <artifactId>jetty-console-maven-plugin</artifactId>
+ <version>1.43</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+ <modules>
+ <module>dom</module>
+ <module>fixture</module>
+ <module>viewer-html</module>
+ </modules>
+
+ <dependencyManagement>
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis</artifactId>
+ <version>${isis.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.objectstore</groupId>
+ <artifactId>isis-objectstore-xml</artifactId>
+ <version>${isis-objectstore-xml.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.objectstore</groupId>
+ <artifactId>isis-objectstore-sql</artifactId>
+ <version>${isis-objectstore-sql.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>isis-viewer-dnd</artifactId>
+ <version>${isis-viewer-dnd.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>isis-viewer-scimpi</artifactId>
+ <version>${isis-viewer-scimpi.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>isis-viewer-html</artifactId>
+ <version>${isis-viewer-html.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.security</groupId>
+ <artifactId>isis-security-file</artifactId>
+ <version>${isis-security-file.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+
+ <!-- this project's own modules -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>quickstart_html_sql-dom</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>quickstart_html_sql-fixture</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>quickstart_html_sql-viewer-html</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+
+
+ </dependencies>
+ </dependencyManagement>
+
+ <profiles>
+ <profile>
+ <id>m2e</id>
+ <activation>
+ <property>
+ <name>m2e.version</name>
+ </property>
+ </activation>
+ <build>
+ <directory>target-ide</directory>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck
new file mode 100644
index 0000000..5cd2e57
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log
new file mode 100644
index 0000000..7b4d229
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log
@@ -0,0 +1,2 @@
+/*C3*/SET SCHEMA PUBLIC
+create table ISIS_ADMIN_SERVICES (PK_ID int, ID varchar(255))
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties
new file mode 100644
index 0000000..e17168d
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties
@@ -0,0 +1,4 @@
+#HSQL Database Engine 2.2.8
+#Wed Oct 10 18:15:49 BST 2012
+version=2.2.8
+modified=yes
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script
new file mode 100644
index 0000000..13c8dd0
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script
@@ -0,0 +1,46 @@
+SET DATABASE UNIQUE NAME HSQLDB3A4BACD59D
+SET DATABASE GC 0
+SET DATABASE DEFAULT RESULT MEMORY ROWS 0
+SET DATABASE EVENT LOG LEVEL 0
+SET DATABASE SQL NAMES FALSE
+SET DATABASE SQL REFERENCES FALSE
+SET DATABASE SQL SIZE TRUE
+SET DATABASE SQL TYPES FALSE
+SET DATABASE SQL TDC DELETE TRUE
+SET DATABASE SQL TDC UPDATE TRUE
+SET DATABASE SQL TRANSLATE TTI TYPES TRUE
+SET DATABASE SQL CONCAT NULLS TRUE
+SET DATABASE SQL NULLS FIRST TRUE
+SET DATABASE SQL UNIQUE NULLS TRUE
+SET DATABASE SQL CONVERT TRUNCATE TRUE
+SET DATABASE SQL AVG SCALE 0
+SET DATABASE SQL DOUBLE NAN TRUE
+SET DATABASE SQL LONGVAR IS LOB FALSE
+SET DATABASE TRANSACTION CONTROL LOCKS
+SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
+SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
+SET DATABASE TEXT TABLE DEFAULTS ''
+SET FILES WRITE DELAY 500 MILLIS
+SET FILES BACKUP INCREMENT TRUE
+SET FILES CACHE SIZE 10000
+SET FILES CACHE ROWS 50000
+SET FILES SCALE 8
+SET FILES LOB SCALE 32
+SET FILES DEFRAG 0
+SET FILES NIO TRUE
+SET FILES NIO SIZE 256
+SET FILES LOG TRUE
+SET FILES LOG SIZE 50
+CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e'
+ALTER USER SA SET LOCAL TRUE
+CREATE SCHEMA PUBLIC AUTHORIZATION DBA
+ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
+SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
+GRANT DBA TO SA
+SET SCHEMA SYSTEM_LOBS
+INSERT INTO BLOCKS VALUES(0,2147483647,0)
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch b/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
new file mode 100644
index 0000000..99a0ac6
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
+<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--type server_exploration"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="quickstart-viewer-html"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/lib/.gitignore
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/lib/.gitignore b/mothballed/example/application/quickstart_html_sql/viewer-html/lib/.gitignore
new file mode 100644
index 0000000..70eee7e
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/lib/.gitignore
@@ -0,0 +1,5 @@
+#
+# explicitly ignoring Microsoft JDBC4 jar
+# (cannot redistribute, licensing)
+#
+sqljdbc4.jar
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml b/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml
new file mode 100644
index 0000000..43ae71f
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<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.example.application</groupId>
+ <artifactId>quickstart_html_sql</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>quickstart_html_sql-viewer-html</artifactId>
+
+ <name>Quickstart (HTML/SQL) HTML Viewer</name>
+ <description>This module runs Isis' HTML webapp viewer. By default it is configured to
+ run using the sql object store. See other viewer modules for more persistence
+ options.</description>
+
+ <packaging>war</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ </plugin>
+
+ <!-- mvn package -->
+ <plugin>
+ <groupId>org.simplericity.jettyconsole</groupId>
+ <artifactId>jetty-console-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>createconsole</goal>
+ </goals>
+ <configuration>
+ <backgroundImage>${basedir}/src/main/jettyconsole/isis-banner.png</backgroundImage>
+ </configuration>
+ <phase>package</phase>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- prereqs: mvn package -->
+ <!-- mvn antrun:run -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <configuration>
+ <tasks>
+ <exec executable="java" failonerror="true">
+ <arg value="-jar"/>
+ <arg value="${project.build.directory}/${project.build.finalName}-jetty-console.war"/>
+ </exec>
+ </tasks>
+ </configuration>
+ </plugin>
+
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <!-- other modules in this project -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>quickstart_html_sql-dom</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>quickstart_html_sql-fixture</artifactId>
+ </dependency>
+
+
+
+ <!-- objectstore/domain service/repository implementations -->
+
+ <dependency>
+ <groupId>org.apache.isis.objectstore</groupId>
+ <artifactId>isis-objectstore-sql-impl</artifactId>
+ </dependency>
+
+
+ <!-- isis viewer -->
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>isis-viewer-html-impl</artifactId>
+ </dependency>
+
+
+
+ <!-- isis core -->
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-metamodel</artifactId>
+ </dependency>
+
+ <!-- isis default runtime -->
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-runtime</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-objectstore</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.objectstore</groupId>
+ <artifactId>isis-objectstore-xml</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-profilestore</artifactId>
+ </dependency>
+
+ <!-- isis defaults (other) -->
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-security</artifactId>
+ </dependency>
+
+ <!-- to run using WebServer (optional) -->
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-webserver</artifactId>
+ <scope>runtime</scope>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ <version>1.2</version>
+ </dependency>
+
+
+ <!--
+ JDBC drivers
+ (if using jdo or sql object store)
+ -->
+
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>2.2.8</version>
+ </dependency>
+
+ <!--
+ <dependency>
+ <groupId>com.microsoft.sqlserver</groupId>
+ <artifactId>jdbc</artifactId>
+ <version>4.0</version>
+ <scope>system</scope>
+ <optional>true</optional>
+ <systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
+ </dependency>
+ -->
+
+ <dependency>
+ <groupId>org.lazyluke</groupId>
+ <artifactId>log4jdbc-remix</artifactId>
+ <version>0.2.7</version>
+ </dependency>
+
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn
new file mode 100644
index 0000000..ee6b1c4
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png
new file mode 100644
index 0000000..c6dea47
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png
new file mode 100644
index 0000000..8409e46
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords
new file mode 100644
index 0000000..97b228e
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords
@@ -0,0 +1,28 @@
+# 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.
+
+
+#
+# configuration file for the file-based authentication
+# not used by the onlinedemo
+#
+
+# list of users, and their password, and optionally roles
+sven:pass:role1|role2|role3
+dick:pass
+bob:pass
+joe:pass
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties
new file mode 100644
index 0000000..62b9dae
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties
@@ -0,0 +1,25 @@
+# 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.
+
+#
+# configuration file for the File-based authentication mechanism
+#
+
+
+#
+# (intentionally empty)
+#
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow
new file mode 100644
index 0000000..4407ec2
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow
@@ -0,0 +1,28 @@
+# 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.
+
+
+#
+# configuration file for the file-based authorization
+#
+
+
+#
+# (intentionally empty)
+#
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties
new file mode 100644
index 0000000..f44bb6c
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties
@@ -0,0 +1,47 @@
+# 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.
+
+#
+# configuration file for the File-based authorization mechanism
+#
+
+
+#
+# the whitelist file
+# (value shown below is the default)
+#
+
+#isis.authorization.file.whitelist=authorization_file.allow
+
+
+
+#
+# the blacklist file
+# (there is no default value; provide a filename)
+#
+
+#isis.authorization.file.blacklist=
+
+
+
+#
+# switch on "learning mode". In this mode the authorization mechanism
+# will grant all requests, and log those requests into the allow file.
+#
+
+#isis.authorization.learn=true
+
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties
new file mode 100644
index 0000000..c46aeb5
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties
@@ -0,0 +1,180 @@
+# 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.
+
+
+#################################################################################
+#
+# specify system components.
+#
+# The values correspond to the named components in the installer-registry.properties file
+# in the org.apache.isis.runtimes.dflt:runtime JAR (in the org.apache.isis.runtimes.dflt.runtime package)
+#
+# Although all configuration could reside in isis.properties, the recommendation is
+# to split out into component specific files:
+#
+# xxx_yyy.properties files
+#
+# where
+# * xxx is the component type, and
+# * yyy is the component name.
+#
+# For example, persistor_sql.properties holds configuration information specific to the
+#
+#
+# If the components are changed, also remember to edit pom.xml (further comments can be
+# found in the persistor_xxx.properties files)
+#
+#################################################################################
+
+#
+# configure the persistor (object store) to use
+#
+# * in-memory requires no additional configuration, but stores object in-memory.
+# Only suitable for prototyping
+# * datanucleus uses JDO DataNucleus to persist objects to relational database.
+# for objectstore-specific properties, see persistor_datanucleus.properties
+# * fileserver uses a simple FileServer to persist objects as JSON documents. It requires the fileserver component to be running
+# for objectstore-specific properties, see persistor_fileserver.properties
+# * mongodb uses MongoDB to be persist objects as JSON documents. It requires MongoDB to be installed and running
+# for objectstore-specific properties, see persistor_fileserver.properties
+# * sql uses an RDBMS to persist objects as table rows.
+# for objectstore-specific properties, see persistor_sql.properties
+# * xml uses the XML ObjectStore to be persist objects to a set of XML files. Only suitable for prototyping.
+# for objectstore-specific properties, see persistor_xml.properties
+#
+# NOTE:
+# * if using non-naive implementations of services, edit isis.services (below) and
+# * if necessary, update the pom.xml to reference appropriate objstore-xxx module
+# * for sql and datanucleus objectstores, update the pom.xml to reference appropriate JDBC driver
+#
+
+isis.persistor=sql
+
+
+#
+# configure authentication mechanism to use (to logon to the system)
+# note:
+# - authentication is disabled if running in exploration mode
+# - the Scimpi viewer allows access to anonymous users
+#
+
+# default is file in SERVER mode, none in SERVER_EXPLORATION. Configure in web.xml
+isis.authentication=file
+
+
+#
+# configure authorization mechanism to use
+#
+# The authorization mechanism define each users' permissions to view/edit object properties
+# or collections, and to view/invoke object actions
+#
+# configuring this component automatically refines the metamodel (installing a facet factory
+# which vetoes access as required)
+#
+
+# default is file in SERVER mode, none in SERVER_EXPLORATION. Configure in web.xml
+#isis.authorization=file
+
+
+
+#
+# configure the user profile store to use.
+#
+# the user profile store is supported by some viewers as a way to store
+# user-specific settings (eg colours, themes etc)
+#
+isis.user-profile-store=in-memory
+
+
+
+
+#################################################################################
+#
+# MetaModel
+#
+# The metamodel typically does not require additional configuration, although
+# the system components (defined above) may refine the metamodel for their needs.
+#
+#################################################################################
+
+
+#
+# additional programming model facets
+#
+
+#isis.reflector.facets.include=
+#isis.reflector.facets.exclude=
+
+# normally these facets would be installed by virtue of configuring the JDO object store
+# need to be configured manually if running some other object store only because the
+# JDO enhancer is still configured to run on the DOM project.
+isis.reflector.facets.include=\
+ org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoEnhancementTypesFacetFactory,\
+ org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoPrefixedMethodsFacetFactory
+
+#
+# metamodel validator
+#
+
+#isis.reflector.validator=
+
+
+
+#################################################################################
+#
+# Application Services and fixtures
+#
+#################################################################################
+
+#
+# Specify the domain services.
+#
+# These are the most important configuration properties in the system, as they define
+# the set of the classes for Isis to instantiate as domain service singletons.
+# From these domain service instances the rest of the metamodel is discovered, while the
+# end-user gains access to other domain objects by invoking the actions of the domain services.
+#
+# The implementations depend on the configured (see isis.persistor above)
+#
+
+
+# if using the in-memory, XML, SQL, fileserver or mongo object stores:
+isis.services.prefix = dom
+isis.services = todo.ToDoItems
+
+
+# if using the DataNucleus object store
+# (with support for JDO's audit service, and installing fixtures using a domain service)
+#isis.services.prefix =
+#isis.services = objstore.jdo.todo.ToDoItemsJdo,\
+# fixture.todo.ToDoItemsFixturesService,\
+# dom.audit.AuditServiceDemo
+
+
+
+
+
+#
+# Specify the (optional) test fixtures
+#
+# Fixtures are used to seed the object store with an initial set of data. For the
+# in-memory object store, the fixtures are installed on every run. For other
+# object stores, they are used only when the object store is first initialized.
+#
+isis.fixtures.prefix= fixture
+isis.fixtures= todo.ToDoItemsFixture
+