incubator-isis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From danhayw...@apache.org
Subject svn commit: r1101841 [2/2] - in /incubator/isis/trunk: core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/maxlen/ core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/member/ordering/ core/metamodel/src/main/java/org/apach...
Date Wed, 11 May 2011 11:47:47 GMT
Modified: incubator/isis/trunk/src/site/apt/where-to-start.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/where-to-start.apt?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/apt/where-to-start.apt (original)
+++ incubator/isis/trunk/src/site/apt/where-to-start.apt Wed May 11 11:47:45 2011
@@ -27,11 +27,13 @@ Where to Start?
 mvn archetype:generate  \
     -D archetypeCatalog=http://incubator.apache.org/isis \
     -D archetypeGroupId=org.apache.isis.support \
-    -D archetypeArtifactId=quickstart-archetype
+    -D archetypeArtifactId=quickstart-archetype \
+    -D groupId=com.mycompany \
+    -D artifactId=myapp
 
 +------------------------------------------------------------
 
-  The {{{./quickstart-app.html}quickstart app}} page has an overview 
+  The {{{./quickstart-app.html}quickstart app}} page has more detail 
   of the generated application and how to run it.
 
   Note: <currently the archetype is only available from the Apache snapshot
@@ -58,16 +60,11 @@ Documentation
   
   After that, you probably should look through the {{{./core/docbkx/pdf/isis-core.pdf}core}}
   documentation.  This provides more detail on the design and architecture of Isis, along
-  with the key APIs.  It also describes how to deploy your application in various configurations
-  (webapp, standalone or client/server).
+  with the key APIs.
   
-  Once you have an understanding of those APIs, you may want to start using customizing the
-  {{{./default}default}} implementations (where supported), or start to use some of the 
-  {{{./alternative}alternative}} implementations.  The alternative implementations tend to
be
-  more sophisticated and offer more in the way of customization.  In either case, you'll
find 
-  the information you need in the user guides for each of the components.
-  
-  The documentation for all of the components is listed {{{./documentation.html}here}}.
+  Once you have an understanding of those APIs, you'll probably want to delve into individual
+  implementations of the APIs, such as the programming model, security, viewers or the
+  runtime (persistence).  You'll find documentation for all of these components {{{./documentation.html}here}}.
   
 What Else is There?  
   
@@ -76,7 +73,7 @@ What Else is There?  
     
   In the future, we also hope to provide a selection of off-the-shelf domain 
   services and value types integrations for you to reuse; these will be hosted
-  within the {{{./support/domain/index.html}domain}} library. (Until then, why 
+  within a "domain" library. (Until then, why 
   not contribute some of your own ? ;-).
 
    

Modified: incubator/isis/trunk/src/site/resources/archetype-catalog.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/archetype-catalog.xml?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/resources/archetype-catalog.xml (original)
+++ incubator/isis/trunk/src/site/resources/archetype-catalog.xml Wed May 11 11:47:45 2011
@@ -1,13 +1,11 @@
-<archetype-catalog  xmlns="http://maven.apache.org/plugins/maven-archetype-plugi
-n/archetype-catalog/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/arc
-hetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd">
+<archetype-catalog  xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0
http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd">
   <archetypes>
     <archetype>
        <groupId>org.apache.isis.support</groupId>
        <artifactId>quickstart-archetype</artifactId>
        <version>0.1.2-incubating-SNAPSHOT</version>
-       <repository>https://repository.apache.org/content/groups/snapshots-group/
+       <repository>http://repository.apache.org/content/groups/snapshots-group/
 </repository>
        <description>Isis Quickstart Archetype</description>
     </archetype>
@@ -15,7 +13,7 @@ hetype-catalog/1.0.0 http://maven.apache
        <groupId>org.apache.isis.support</groupId>
        <artifactId>quickstart-archetype</artifactId>
        <version>0.1.1-incubating-SNAPSHOT</version>
-       <repository>https://repository.apache.org/content/groups/snapshots-group/
+       <repository>http://repository.apache.org/content/groups/snapshots-group/
 </repository>
        <description>Isis Quickstart Archetype</description>
     </archetype>
@@ -23,7 +21,7 @@ hetype-catalog/1.0.0 http://maven.apache
        <groupId>org.apache.isis.support</groupId>
        <artifactId>quickstart-archetype</artifactId>
        <version>0.1.0-incubating-SNAPSHOT</version>
-       <repository>https://repository.apache.org/content/groups/snapshots-group/
+       <repository>http://repository.apache.org/content/groups/snapshots-group/
 </repository>
        <description>Isis Quickstart Archetype</description>
     </archetype>

Modified: incubator/isis/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/site.xml?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/site.xml (original)
+++ incubator/isis/trunk/src/site/site.xml Wed May 11 11:47:45 2011
@@ -78,13 +78,17 @@
                     href="http://mail-archives.apache.org/mod_mbox/incubator-isis-dev/" />
                 <item name="Subscribe"
                     href="mailto:isis-dev-subscribe@incubator.apache.org" />
+                <item name="Markmail (RSS)"
+                    href="http://incubator.markmail.org/search/?q=isis-dev" />
+                <item name="Gmane (NNTP)"
+                    href="http://blog.gmane.org/gmane.comp.apache.incubator.isis.devel" />
             </item>
             <!-- 
             <item name="Twitter (#ApacheIsis)" href="http://search.twitter.com/search?q=%23ApacheIsis"
/>
             -->
             <item name="Wiki" href="https://cwiki.apache.org/confluence/display/ISIS/Index"
/>
             <item name="JIRA" href="https://issues.apache.org/jira/browse/ISIS" />
-            <item name="CI" href="https://hudson.apache.org/hudson/job/isis-trunk-ubuntu"
/>
+            <item name="CI" href="https://builds.apache.org/hudson/job/isis-trunk-windows"
/>
             <item name="Isis Extras" href="http://code.google.com/a/apache-extras.org/p/isis-extras/"
/>
         </menu>
 

Modified: incubator/isis/trunk/support/quickstart/viewer-html/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/quickstart/viewer-html/src/main/webapp/WEB-INF/web.xml?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/support/quickstart/viewer-html/src/main/webapp/WEB-INF/web.xml (original)
+++ incubator/isis/trunk/support/quickstart/viewer-html/src/main/webapp/WEB-INF/web.xml Wed
May 11 11:47:45 2011
@@ -24,8 +24,8 @@
 	</filter>
 
 	<filter>
-		<filter-name>StaticContentFilter</filter-name>
-		<filter-class>org.apache.isis.core.webapp.content.StaticContentFilter</filter-class>
+		<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>
@@ -33,19 +33,19 @@
 	</filter>
 
 	<filter-mapping>
-		<filter-name>StaticContentFilter</filter-name>
+		<filter-name>ResourceCachingFilter</filter-name>
 		<url-pattern>*.css</url-pattern>
 	</filter-mapping>
 	<filter-mapping>
-		<filter-name>StaticContentFilter</filter-name>
+		<filter-name>ResourceCachingFilter</filter-name>
 		<url-pattern>*.png</url-pattern>
 	</filter-mapping>
 	<filter-mapping>
-		<filter-name>StaticContentFilter</filter-name>
+		<filter-name>ResourceCachingFilter</filter-name>
 		<url-pattern>*.jpg</url-pattern>
 	</filter-mapping>
 	<filter-mapping>
-		<filter-name>StaticContentFilter</filter-name>
+		<filter-name>ResourceCachingFilter</filter-name>
 		<url-pattern>*.gif</url-pattern>
 	</filter-mapping>
     

Modified: incubator/isis/trunk/support/quickstart/viewer-restful/ide/eclipse/launch/quickstart-viewer-restful.launch
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/quickstart/viewer-restful/ide/eclipse/launch/quickstart-viewer-restful.launch?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/support/quickstart/viewer-restful/ide/eclipse/launch/quickstart-viewer-restful.launch
(original)
+++ incubator/isis/trunk/support/quickstart/viewer-restful/ide/eclipse/launch/quickstart-viewer-restful.launch
Wed May 11 11:47:45 2011
@@ -1,10 +1,10 @@
 <?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="/quickstart-viewer-restful"/>
+<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="4"/>
+<listEntry value="1"/>
 </listAttribute>
 <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
 <mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>

Modified: incubator/isis/trunk/support/quickstart/viewer-restful/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/support/quickstart/viewer-restful/src/main/webapp/WEB-INF/web.xml?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/support/quickstart/viewer-restful/src/main/webapp/WEB-INF/web.xml
(original)
+++ incubator/isis/trunk/support/quickstart/viewer-restful/src/main/webapp/WEB-INF/web.xml
Wed May 11 11:47:45 2011
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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">
+	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>Restful Claims</display-name>
+	<display-name>Restful Claims</display-name>
 
-    <listener>
-        <listener-class>org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper</listener-class>
-    </listener>
-
-    <context-param>
-        <param-name>isis.viewers</param-name>
-        <param-value>restful</param-value>
-    </context-param>
+	<listener>
+		<listener-class>org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper</listener-class>
+	</listener>
+
+	<context-param>
+		<param-name>isis.viewers</param-name>
+		<param-value>restful</param-value>
+	</context-param>
 
 	<context-param>
 		<param-name>javax.ws.rs.Application</param-name>
@@ -22,48 +22,78 @@
 	<filter>
 		<filter-name>IsisSessionFilter</filter-name>
 		<filter-class>org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter</filter-class>
-        <init-param>
-            <!-- trusted client, so no authentication required -->
-            <param-name>authenticationSessionLookupStrategy</param-name>
-            <param-value>org.apache.isis.viewer.restful.viewer.authentication.AuthenticationSessionLookupStrategyTrusted</param-value>
-        </init-param>
+		<init-param>
+			<!-- trusted client, so no authentication required -->
+			<param-name>authenticationSessionLookupStrategy</param-name>
+			<param-value>org.apache.isis.viewer.restful.viewer.authentication.AuthenticationSessionLookupStrategyTrusted</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>IsisSessionFilter</filter-name>
-    	<url-pattern>*</url-pattern>
-    </filter-mapping>
-
-    <listener>
-        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
-    </listener>
-    
-    <servlet>
-        <servlet-name>RestEasy</servlet-name>
-        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
-    </servlet>
-
-    <servlet>
-        <servlet-name>Resource</servlet-name>
-        <servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>RestEasy</servlet-name>
-        <url-pattern>/</url-pattern>
-    </servlet-mapping>
-
-    <servlet-mapping>
-        <servlet-name>Resource</servlet-name>
-        <url-pattern>*.js</url-pattern>
-    </servlet-mapping>
-    <servlet-mapping>
-        <servlet-name>Resource</servlet-name>
-        <url-pattern>*.gif</url-pattern>
-    </servlet-mapping>
-    <servlet-mapping>
-        <servlet-name>Resource</servlet-name>
-        <url-pattern>*.png</url-pattern>
-    </servlet-mapping>
+	<filter-mapping>
+		<filter-name>IsisSessionFilter</filter-name>
+		<url-pattern>*</url-pattern>
+	</filter-mapping>
+
+	<filter-mapping>
+		<filter-name>ResourceCachingFilter</filter-name>
+		<url-pattern>*.js</url-pattern>
+	</filter-mapping>
+	<filter-mapping>
+		<filter-name>ResourceCachingFilter</filter-name>
+		<url-pattern>*.css</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>*.png</url-pattern>
+	</filter-mapping>
+	<filter-mapping>
+		<filter-name>ResourceCachingFilter</filter-name>
+		<url-pattern>*.gif</url-pattern>
+	</filter-mapping>
+
+	<listener>
+		<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
+	</listener>
+
+	<servlet>
+		<servlet-name>RestEasy</servlet-name>
+		<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
+	</servlet>
+
+	<servlet>
+		<servlet-name>Resource</servlet-name>
+		<servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
+	</servlet>
+
+	<servlet-mapping>
+		<servlet-name>RestEasy</servlet-name>
+		<url-pattern>/</url-pattern>
+	</servlet-mapping>
+
+	<servlet-mapping>
+		<servlet-name>Resource</servlet-name>
+		<url-pattern>*.js</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>Resource</servlet-name>
+		<url-pattern>*.gif</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>Resource</servlet-name>
+		<url-pattern>*.png</url-pattern>
+	</servlet-mapping>
 
 </web-app>

Modified: incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java
(original)
+++ incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java
Wed May 11 11:47:45 2011
@@ -24,11 +24,11 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.consent.Allow;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.Veto;
+import org.apache.isis.core.metamodel.facets.maxlen.MaxLengthFacet;
 import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
-import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java
(original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java
Wed May 11 11:47:45 2011
@@ -21,7 +21,7 @@ package org.apache.isis.viewer.html;
 
 import org.apache.isis.core.commons.lang.MapUtils;
 import org.apache.isis.core.webapp.content.ResourceServlet;
-import org.apache.isis.core.webapp.content.StaticContentFilter;
+import org.apache.isis.core.webapp.content.ResourceCachingFilter;
 import org.apache.isis.runtimes.dflt.runtime.Isis;
 import org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.IsisViewerInstallerAbstract;
 import org.apache.isis.runtimes.dflt.runtime.viewer.IsisViewer;
@@ -71,7 +71,7 @@ public class HtmlViewerInstaller extends
                 webAppSpec.addServletSpecification(LogonServlet.class, LOGON_PAGE_MAPPED);
                 webAppSpec.addServletSpecification(ControllerServlet.class, DYNAMIC_CONTENT);
 
-                webAppSpec.addFilterSpecification(StaticContentFilter.class, MapUtils.asMap("CacheTime",
"86400"),
+                webAppSpec.addFilterSpecification(ResourceCachingFilter.class, MapUtils.asMap("CacheTime",
"86400"),
                     STATIC_CONTENT);
                 webAppSpec.addServletSpecification(ResourceServlet.class, STATIC_CONTENT);
 

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java
(original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java
Wed May 11 11:47:45 2011
@@ -25,9 +25,9 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.util.AdapterUtils;
 import org.apache.isis.core.metamodel.consent.Consent;
+import org.apache.isis.core.metamodel.facets.maxlen.MaxLengthFacet;
 import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
-import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacet;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;

Modified: incubator/isis/trunk/viewer/restful/src/docbkx/guide/isis-restful-viewer.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/restful/src/docbkx/guide/isis-restful-viewer.xml?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/restful/src/docbkx/guide/isis-restful-viewer.xml (original)
+++ incubator/isis/trunk/viewer/restful/src/docbkx/guide/isis-restful-viewer.xml Wed May 11
11:47:45 2011
@@ -542,7 +542,7 @@
         above.</para>
       </sect2>
 
-      <sect2>
+      <sect2 id="sec.TheViewerRestfulModule">
         <title>The Viewer-Restful Module</title>
 
         <para>Although the <emphasis>quickrun</emphasis> module is convenient
@@ -608,9 +608,21 @@
           <para>An <emphasis>Isis</emphasis> session is required in order
for
           the <emphasis>restful viewer</emphasis> to interact with the
           <emphasis>Isis</emphasis> runtime and interrogate the
-          metamodel/retrieve domain objects. This is accomplished through the
-          <classname>IsisSessionFilter</classname> (defined in the default
-          runtime, <package>[oai.runtimes.dflt:webapp]</package>):</para>
+          metamodel/retrieve domain objects.</para>
+
+          <para>The first part of the required configuration is to set up an
+          <emphasis>Isis</emphasis> "context"; basically a set of factories
+          that are used to create a session for each subsequent request. This
+          is done using a context listener (defined in the <emphasis>default
+          runtime</emphasis>,
+          <package>[oai.runtimes.dflt:webapp]</package>):</para>
+
+          <programlisting>&lt;listener&gt;
+  &lt;listener-class&gt;org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper&lt;/listener-class&gt;
+&lt;/listener&gt;</programlisting>
+
+          <para>The session is created for each request using the
+          <classname>IsisSessionFilter</classname>:</para>
 
           <programlisting>&lt;filter&gt;
   &lt;filter-name&gt;IsisSessionFilter&lt;/filter-name&gt;
@@ -2693,19 +2705,38 @@ public interface UserResource {
 
     <para>At some point you'll presumably want to deploy your domain object
     using <emphasis>restful viewer</emphasis> as a webapp. The quickstart
-    archetype already sets up the viewer-restful module that will generate a
-    WAR file; however, you may want to adjust its configuration in terms of
-    two areas: authentication, and persistence. This chapter discusses these
-    points.</para>
-
-    <para></para>
-
-    <para>*** hmmm... just discovered two versions of IsisSessionFilter... one
-    in </para>
-
-    <para></para>
-
-    <para></para>
+    archetype already sets up the <package>viewer-restful</package> module
+    that will generate a <acronym>WAR</acronym> file; however, you may want to
+    adjust its configuration in terms of two areas: authentication, and
+    persistence. This chapter discusses these points.</para>
+
+    <para><note>
+        <para>These instructions assume that the restful viewer is being
+        deployed using the <emphasis>default runtime</emphasis>
+        <package>(oai.runtimes:dflt)</package>. At the time of writing this is
+        the only runtime available; in the future there may be other runtimes
+        which will have their own specific deployment requirements</para>
+      </note></para>
+
+    <sect1 id="sec.DeploymentType">
+      <title>Deployment Modes</title>
+
+      <para>By default the <classname>IsisWebAppBootstrapper</classname>
+      context listener (described in <xref
+      linkend="sec.TheViewerRestfulModule" />) will bootstrap Isis in the
+      "SERVER" deployment type. This means that an authentication is required,
+      that the sessions will be bound as thread-locals, and that the
+      persistence mechanism will be defaulted appropriately.</para>
+
+      <para>The deployment type can be changed to other settings, though; most
+      notably you may wish to change to SERVER_EXPLORATION or
+      SERVER_PROTOTYPE. This is done using a context parameter:</para>
+
+      <programlisting>&lt;context-param&gt;
+  &lt;param-name&gt;deploymentType&lt;/param-name&gt;
+  &lt;param-value&gt;SERVER_EXPLORATION&lt;/param-value&gt;
+&lt;/context-param&gt;</programlisting>
+    </sect1>
 
     <sect1 id="sec.Authentication">
       <title>Authentication</title>
@@ -2721,20 +2752,21 @@ public interface UserResource {
       <para>The <emphasis>restful viewer</emphasis> therefore uses
       <emphasis>Isis</emphasis>' own authentication mechanism, with
       authentication performed for each RESTful call. What this means depends
-      on the deploymentType:</para>
+      on the deployment type (see <xref
+      linkend="sec.DeploymentType" />):</para>
 
       <itemizedlist>
         <listitem>
           <para>if running in SERVER_EXPLORATION mode, then authentication is
-          in effect switched off; no credentials are supplied, and Naked
-          Objects will use the first exploration user defined in
-          nakedobjects.properties, or a fallback "exploration" user
-          otherwise</para>
+          in effect switched off; no credentials are supplied, and the
+          framework will use the first exploration user defined in
+          <emphasis>isis.properties</emphasis>, or a fallback "exploration"
+          user otherwise</para>
 
           <para>For example, if running in SERVER_EXPLORATION mode, then you
           can specify the user using:</para>
 
-          <programlisting>nakedobjects.exploration.users=sven:role1, dick:role2, bob:role1|role2</programlisting>
+          <programlisting>isis.exploration.users=sven:role1, dick:role2, bob:role1|role2</programlisting>
         </listitem>
 
         <listitem>
@@ -2750,8 +2782,8 @@ public interface UserResource {
         supports multiple concurrent users.</para>
       </note>
 
-      <para>Calling Restful Objects in SERVER mode with no credentials will
-      result in an exception:</para>
+      <para>Running the Restful Objects in SERVER mode with no credentials
+      will result in an exception:</para>
 
       <screenshot>
         <screeninfo>Server mode, no credentials</screeninfo>
@@ -2782,44 +2814,87 @@ public interface UserResource {
 
       <itemizedlist>
         <listitem>
-          <para><classname>NakedObjectsSessionFilter</classname> uses the
+          <para><classname>IsisSessionFilter</classname> uses the
           <varname>authenticationManagerLookupStrategy</varname> property to
           specify a strategy for both finding credentials and for validating
-          them against the Naked Objects authentication manager.</para>
+          them against the <emphasis>Apache Isis</emphasis> authentication
+          manager.</para>
 
-          <para>The implementation provided by <emphasis>Restful
-          Objects</emphasis> -
-          <classname>AuthenticationSessionLookupStrategyExtended</classname>
-          in the package
+          <para>The <emphasis>restful viewer</emphasis> provides two
+          additional implementations of this that you can use:</para>
+
+          <itemizedlist>
+            <listitem>
+              <para>The
+              <classname>oai.viewer.restful.viewer.authentication.AuthenticationSessionLookupStrategyParams</classname>
+              implementation extends the default behaviour by also looking up
+              credentials using the username and password parameters. Once
+              validated, it also binds the results to the
+              <classname>HttpSession</classname> so that future interactions
+              do not credentials.</para>
+            </listitem>
+
+            <listitem>
+              <para>The
+              <classname>oai.viewer.restful.viewer.authentication.AuthenticationSessionLookupStrategyTrusted</classname>
+              implementation ensures that an (exploration) session is always
+              present (if a session isn't available from the default
+              implementation).</para>
+            </listitem>
+          </itemizedlist>
+
+          <para> -
+          <classname>AuthenticationSessionLookupStrategyParams</classname> in
+          the package
           <classname>org.starobjects.restful.viewer.authentication</classname>
-          - is responsible for looking up credentials using the username and
-          password parameters. Once validated, it also binds the results to
-          the <classname>HttpSession</classname> so that future interactions
-          do not credentials.</para>
+          - </para>
+
+          <para>In both cases these can be configured using:</para>
+
+          <programlisting>&lt;filter&gt;
+  &lt;filter-name&gt;IsisSessionFilter&lt;/filter-name&gt;
+  &lt;filter-class&gt;org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter&lt;/filter-class&gt;
+  &lt;init-param&gt;
+    &lt;param-name&gt;authenticationSessionLookupStrategy&lt;/param-name&gt;
+    &lt;param-value&gt;org.apache.isis.viewer.restful.viewer.authentication.AuthenticationSessionLookupStrategyTrusted&lt;/param-value&gt;
+  &lt;/init-param&gt;
+&lt;/filter&gt;</programlisting>
         </listitem>
 
         <listitem>
-          <para>If you lookup strategy implementation delegates to the Naked
-          Objects authentication manager (recommended), you might also want to
-          change the Naked Objects'
-          <classname>AuthenticationManager</classname> implementation itself.
-          This is done using the
-          <varname>nakedobjects.authentication</varname> key in
-          <filename>nakedobjects.properties</filename>:</para>
+          <para>Alternatively, you can change the implementation of
+          <classname>AuthenticationManager</classname> that
+          <emphasis>Isis</emphasis>' delegates to. This is done using the
+          <varname>isis.authentication</varname> key in
+          <filename>isis.properties</filename>:</para>
 
-          <programlisting>isis.authentication=com.mycompany.nakedobjects.authentication.MyAuthenticationManagerInstaller</programlisting>
+          <programlisting>isis.authentication=com.mycompany.isis.authentication.MyAuthenticationManagerInstaller</programlisting>
         </listitem>
       </itemizedlist>
 
       <para>In the future there will doubtless be standardized (WS-* style)
       approaches for RESTful authenticatication, but the above should provide
       enough flexibility in the meantime.</para>
+
+      <note>
+        <para>Note that the archetype explicitly specifies the authentication
+        mechanism as no-op.</para>
+      </note>
     </sect1>
 
     <sect1>
       <title>Runtime / Persistence</title>
 
-      <para></para>
+      <para>The persistence mechanism (aka object store) is determined using
+      isis.persistence key in isis.properties. For example, to use the XML
+      object store, you would specify:</para>
+
+      <programlisting>isis.persistor=xml</programlisting>
+
+      <para><note>
+          <para>Note that the archetype explicitly specifies the object store
+          as in-memory.</para>
+        </note></para>
     </sect1>
   </chapter>
 </book>

Modified: incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/authentication/AuthenticationSessionLookupStrategyParams.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/authentication/AuthenticationSessionLookupStrategyParams.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/authentication/AuthenticationSessionLookupStrategyParams.java
(original)
+++ incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/authentication/AuthenticationSessionLookupStrategyParams.java
Wed May 11 11:47:45 2011
@@ -27,6 +27,8 @@ import org.apache.isis.core.runtime.auth
 import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
 import org.apache.isis.runtimes.dflt.webapp.auth.AuthenticationSessionLookupStrategyDefault;
 
+import com.google.common.base.Strings;
+
 public class AuthenticationSessionLookupStrategyParams extends AuthenticationSessionLookupStrategyDefault
{
 
     @Override
@@ -40,7 +42,7 @@ public class AuthenticationSessionLookup
         final String user = httpServletRequest.getParameter("user");
         final String password = httpServletRequest.getParameter("password");
 
-        if (user == null || password == null) {
+        if (Strings.isNullOrEmpty(user) || Strings.isNullOrEmpty(password)) {
             return null;
         }
         final AuthenticationRequestPassword request = new AuthenticationRequestPassword(user,
password);

Modified: incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/resources/ResourceAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/resources/ResourceAbstract.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/resources/ResourceAbstract.java
(original)
+++ incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/resources/ResourceAbstract.java
Wed May 11 11:47:45 2011
@@ -135,7 +135,7 @@ public abstract class ResourceAbstract {
         final Element div = xhtmlRenderer.div_p("Logged in as", null);
 
         final Element ul = xhtmlRenderer.ul(HtmlClass.SESSION);
-        ul.appendChild(xhtmlRenderer.li_a("/user", getSession().getUserName(), "user", "resource",
HtmlClass.USER));
+        ul.appendChild(xhtmlRenderer.li_a("user", getSession().getUserName(), "user", "resource",
HtmlClass.USER));
         div.appendChild(ul);
 
         return div;
@@ -146,10 +146,10 @@ public abstract class ResourceAbstract {
 
         final Element ul = xhtmlRenderer.ul(HtmlClass.RESOURCES);
 
-        ul.appendChild(xhtmlRenderer.li_a("/services", "Services", "services", "resources",
HtmlClass.RESOURCE));
-        ul.appendChild(xhtmlRenderer.li_a("/specs", "Specifications (MetaModel)", "specs",
"resources",
+        ul.appendChild(xhtmlRenderer.li_a("services", "Services", "services", "resources",
HtmlClass.RESOURCE));
+        ul.appendChild(xhtmlRenderer.li_a("specs", "Specifications (MetaModel)", "specs",
"resources",
             HtmlClass.RESOURCE));
-        ul.appendChild(xhtmlRenderer.li_a("/user", "User (Security)", "user", "resources",
HtmlClass.RESOURCE));
+        ul.appendChild(xhtmlRenderer.li_a("user", "User (Security)", "user", "resources",
HtmlClass.RESOURCE));
 
         div.appendChild(ul);
         return div;

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
(original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
Wed May 11 11:47:45 2011
@@ -21,10 +21,10 @@ package org.apache.isis.viewer.scimpi.di
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.help.HelpFacet;
+import org.apache.isis.core.metamodel.facets.maxlen.MaxLengthFacet;
 import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
-import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;

Modified: incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
(original)
+++ incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
Wed May 11 11:47:45 2011
@@ -19,8 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars;
 
-import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
-import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
+import org.apache.isis.core.metamodel.facets.maxlen.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.wicket.AttributeModifier;

Modified: incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldParseableAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldParseableAbstract.java?rev=1101841&r1=1101840&r2=1101841&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldParseableAbstract.java
(original)
+++ incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldParseableAbstract.java
Wed May 11 11:47:45 2011
@@ -19,7 +19,7 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars;
 
-import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.maxlen.MaxLengthFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.wicket.markup.html.form.TextField;



Mime
View raw message