You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2010/10/22 16:51:49 UTC
svn commit: r1026350 [4/6] - in /incubator/isis/trunk: ./
alternatives/bytecode/ alternatives/bytecode/identity/src/site/
alternatives/bytecode/javassist/src/site/
alternatives/bytecode/src/docbkx/guide/ alternatives/bytecode/src/site/
alternatives/obj...
Modified: incubator/isis/trunk/src/site/apt/contributors-deploying.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/contributors-deploying.apt?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/apt/contributors-deploying.apt (original)
+++ incubator/isis/trunk/src/site/apt/contributors-deploying.apt Fri Oct 22 14:51:42 2010
@@ -17,9 +17,9 @@
-Deploying [[NAME]]
+Deploying Apache Isis
- These notes are for [[NAME]] contributors with responsibility for deploying [[NAME]] (either the code artifact via <<<mvn deploy>>> or the site via <<<mvn site-deploy>>>).
+ These notes are for Apache Isis contributors with responsibility for deploying [[NAME]] (either the code artifact via <<<mvn deploy>>> or the site via <<<mvn site-deploy>>>).
Software
@@ -57,165 +57,7 @@ chere -i
Switch back to Windows Explorer and you'll find that you should be able to
start a bash shell in a new terminal window from any folder.
-Prerequisites
+Process
- You will require shell access to the {{{http://sourceforge.net/projects/isis}Isis project on SourceForge}}.
- Rob Matthews can grant access to this.
-
- Before you can perform any deploy, you need to log into the SF shell:
-
-+-------------------------------------------------------+
-ssh -t xxxxx,isis@shell.sourceforge.net create
-+-------------------------------------------------------+
-
- where 'xxxxx' is your SF username.
-
- When you login, SF will put you to your home directory, <<</home/users/x/xx/xxxxx>>>. Before doing anything else,
- switch to the root of the <<<isis>>> project:
-
-+-------------------------------------------------------+
-cd ../../../../groups/n/na/isis
-+-------------------------------------------------------+
-
-Directory Structure
-
- The directory structure underneath <<<isis>>> is:
-
-+-----------------------------------------------------------------+
-./htdocs - live website, hosted at http://isis.apache.org
-./m2/repo/snapshot - snapshot repository
-./m2/repo/release - release repository
-./m2/site - staged website
-./static - static content, not under version control
- (book, robots.txt, catalogs for Maven repo)
-./buildhtdocs.sh - shell script for recreating the live website
-+-----------------------------------------------------------------+
-
- We have symlinks to <<<./m2/repo>>> and <<<./m2/site>>> in <<<htdocs>>> so that they can be accessed via HTTP:
-
- * {{{http://isis.apache.org/m2-repo/release}http://isis.apache.org/m2-repo/release}} is the <<<./m2/repo/release>>> repo
-
- * {{{http://isis.apache.org/m2-repo/snapshot}http://isis.apache.org/m2-repo/snapshot}} is the <<<./m2/repo/snapshot>>> repo
-
- * {{{http://isis.apache.org/m2-site}http://isis.apache.org/m2-site}} is the <<<./m2/site>>> staged website
-
-Maven Deploy
-
- Typically we deploy artifacts locally first for a trial run, then deploy remotely.
-
- To deploy locally to your <<</tmp>>> directory:
-
-+----------------------------------------------------+
-mvn clean install deploy
-+----------------------------------------------------+
-
- To deploy remotely to Sourceforge:
-
-+----------------------------------------------------+
-mvn clean install deploy -P deploy-remote
-+----------------------------------------------------+
-
- Deploying to the <<<release>>> repo requires running mvn release; discussion of that is outside the scope of this technote.
-
-Maven Site Deploy
-
- Typically we deploy the site locally for a trial run, then deploy remotely to the staging site. Finally, we promote to being the live site.
-
-* Local Site Deploy
-
- To deploy locally to your <<</tmp>>> directory:
-
-+----------------------------------------------------+
-mvn site-deploy -P site-all
-+----------------------------------------------------+
-
- Then, browse to <<<file:///tmp/m2-sites/isis/trunk/index.html>>> and check
-
- To deploy locally, this time generating all reports:
-
-+----------------------------------------------------+
-mvn site-deploy -P site-all
-+----------------------------------------------------+
-
- Then, browse to <<<file:///tmp/m2-sites/isis/trunk/index.html>>> and check.
-
-* Remote Site Staging
-
- To stage the site remotely to Sourceforge; <<in theory>> all that is required is:
-
-+----------------------------------------------------+
-mvn site-deploy -P site-all,deploy-remote
-+----------------------------------------------------+
-
- However, you are likely to find that Sourceforge throws up the occasional intermittent authentication failure. When this happens
- on the second-to-last module, this is not much fun.
-
- We therefore recommend that you use 'rsync' to copy up your local deployment to your SF userweb:
-
-+---------------------------------------------------------------------+
-cd /tmp/m2-sites/isis
-find trunk -print | grep -v jar$ | zip trunk -@
-rsync -avP -e ssh trunk.zip xxxxxx@frs.sourceforge.net:userweb/htdocs
-+---------------------------------------------------------------------+
-
- again, where 'xxxxx' is your SF username.
-
- Back in the SF shell, you can then copy the files over to the staging site:
-
-+------------------------------------------------------------------+
-cd ../../../../groups/n/na/isis
-unzip ~/userweb/htdocs/trunk.zip -d m2/site/.
-+------------------------------------------------------------------+
-
- Check the files have been copied over, then remove the files from your <<<userweb/htdocs>>> directory:
-
-+------------------------------------------------------------------+
-rm -rf ~/userweb/htdocs/trunk.zip
-+------------------------------------------------------------------+
-
-* Remote Site Promoting
-
- Browse to {{{http://isis.apache.org/m2-site/trunk/index.html}http://isis.apache.org/m2-site/trunk/index.html}} and check the site is okay.
-
- When you are happy to promote, run the <<<buildhtdocs.sh>>> script:
-
-+----------------------------------------------------+
-sh buildhtdocs.sh
-+----------------------------------------------------+
-
- This will zap the contents of <<<htdocs>>>, and then copy over the staged website
- and recreate symlinks to static content.
-
- And for future reference, here's the <<<buildhtdocs.sh>>> script:
-
-+----------------------------------------------------+
-#!/bin/bash
-if [ ! -d htdocs ]; then
- echo "can't find htdocs - quitting" >&2
- exit 1
-fi
-
-echo ""
-echo ""
-echo "zapping htdocs..."
-rm -rf htdocs/* 2>/dev/null 1>&2
-
-echo ""
-echo ""
-echo "copying over new site..."
-cp -R m2/site/trunk/* htdocs/.
-
-echo ""
-echo ""
-echo "recreating symlinks to static content..."
-for a in static/*
-do
-ln -s ../$a htdocs/`basename $a`
-done
-
-echo ""
-echo ""
-echo "recreating symlinks to m2 dirs..."
-ln -s ../m2/repo htdocs/m2-repo
-ln -s ../m2/site htdocs/m2-site
-+----------------------------------------------------+
+ For now, we'll just refer to the {{{http://incubator.apache.org/bval/cwiki/release-process.html}write-up put together by Donald Woods}}.
+
\ No newline at end of file
Added: incubator/isis/trunk/src/site/apt/contributors-devenv.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/contributors-devenv.apt?rev=1026350&view=auto
==============================================================================
--- incubator/isis/trunk/src/site/apt/contributors-devenv.apt (added)
+++ incubator/isis/trunk/src/site/apt/contributors-devenv.apt Fri Oct 22 14:51:42 2010
@@ -0,0 +1,87 @@
+~~ 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.
+
+
+
+Setting up the Development Environment
+
+* Eclipse
+
+ If you use Eclipse (most of the Isis committers do), then we recommend the following plugins:
+
+ * {{{http://subclipse.tigris.org/}subclipse}}, for Subversion support
+
+ * {{{http://m2eclipse.sonatype.org}m2eclipse}}, for Maven support
+
+ * {{{http://www.eclemma.org/}EclEmma}}, for in-situ code coverage metrics
+
+ * {{{http://metrics.sourceforge.net/}Metrics}}, for calculation of complexity metrics, etc
+
+ * {{{http://findbugs.sourceforge.net/manual/eclipse.html}find bugs}}, for bug detection
+
+ * {{{http://eclipse-cs.sourceforge.net/}checkstyle}}, for source code analysis
+
+ * {{{http://pmd.sourceforge.net/eclipse/}pmd}}, for source code analysis and bug detection
+
+ []
+
+ Many of these are available on the Eclipse Marketplace, so check there first.
+
+ You should also download and import:
+
+ * {{{./ide/eclipse/templates/Apache-code-style-template.xml}Apache code style template}}
+
+ <<Windows > Preferences > Java > Code Style > Code Templates > Import>>
+
+ * {{{./ide/eclipse/templates/Apache-code-style-formatting.xml}Apache code formatting}}
+
+ <<Windows > Preferences > Java > Code Style > Formatter > Import>>
+
+ * {{{./ide/eclipse/templates/Apache-Isis-code-style-cleanup.xml}Apache Isis clean up}}
+
+ <<Windows > Preferences > Java > Code Style > Cleanup > Import>>
+
+ []
+
+ In addition, we recommend configuring save actions:
+
+ * <<Java > Editor > Save Actions>>
+
+ * Check 'Perform selected actions on save'
+
+ * Check Format source code > Format all lines
+
+ * Check 'Organize Imports'
+
+ * Check 'Additional actions' (but don't configure any further actions)
+
+
+* Other IDEs
+
+ <Contributors: please update this doc if you use another IDE>
+
+
+* Code Quality
+
+ The config files used for the code quality checks are:
+
+ * {{{./codequality/checkstyle.xml}checkstyle.xml}}
+
+ * {{{./codequality/pmd.xml}pmd.xml}}
+
+ []
+
\ No newline at end of file
Added: incubator/isis/trunk/src/site/apt/contributors-writing-docs.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/contributors-writing-docs.apt?rev=1026350&view=auto
==============================================================================
--- incubator/isis/trunk/src/site/apt/contributors-writing-docs.apt (added)
+++ incubator/isis/trunk/src/site/apt/contributors-writing-docs.apt Fri Oct 22 14:51:42 2010
@@ -0,0 +1,38 @@
+~~ 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.
+
+
+
+Writing Documentation
+
+ The {{{https://cwiki.apache.org/confluence/display/ISIS/MavenModules}maven modules}} page on
+ the Isis wiki indicates whether a given module should have a formal DocBook guide or just simple
+ APT files (possibly with a {{pdf.xml}}).
+
+ The current plan is to take the original Naked Objects DocBook documentation (in <<<D:\SVN\ai\isis\contrib\initial\nof\framework\trunk\documentation\manuals\src\docbkx>>>)
+ and move into the relevant DocBook guides, according to component.
+
+ (more notes to follow)
+
+Colour Scheme
+
++----------------------------------------------------+
+blue : #3367A6 51 103 166
+red : #AB3633 171 54 51
+orange: #DC7824 220 120 36
+green : #85A63E 133 166 62
++----------------------------------------------------+
Modified: incubator/isis/trunk/src/site/apt/ide-support.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/ide-support.apt?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/apt/ide-support.apt (original)
+++ incubator/isis/trunk/src/site/apt/ide-support.apt Fri Oct 22 14:51:42 2010
@@ -17,36 +17,40 @@
- We've developed a few simple utilities to help speed up your coding efforts.
+ We've developed a few simple utilities to help speed up your coding efforts.
+
+ <If you are also a contributor to Isis itself, see also
+ {{{./contributors-devenv.html}this page}} for setting up your development
+ environment.>
Eclipse
-* Templates
+* Java Editor Templates
Download the following links to a temporary directory:
- * {{{https://apache.isis.svn/svnroot/trunk/distribution/tarball/src/main/ide/eclipse/templates/isis-templates.xml}isis-templates.xml}}
+ * {{{./ide/eclipse/templates/isis-templates.xml}isis-templates.xml}}
- * {{{https://apache.isis.svn/svnroot/trunk/distribution/tarball/src/main/ide/eclipse/templates/junit4-templates.xml}junit4-templates.xml}}
+ * {{{./ide/eclipse/templates/junit4-templates.xml}junit4-templates.xml}}
- * {{{https://apache.isis.svn/svnroot/trunk/distribution/tarball/src/main/ide/eclipse/templates/jmock2-templates.xml}jmock2-templates.xml}}
+ * {{{./ide/eclipse/templates/jmock2-templates.xml}jmock2-templates.xml}}
[]
Now, import using <<Windows > Preferences > Java > Editor > Templates>> and then choose <<Import>>
- The [[NAME]] templates are prefixed <<<no>>>, the JUnit templates are prefixed <<<ju4>>>, and the JMock templates prefixed <<<jm2>>>.
-
+ The Isis templates are prefixed <<<is>>>, the JUnit templates are prefixed <<<ju4>>>, and the JMock templates prefixed <<<jm2>>>.
+
* Code Folding
- The code templates that we ship are designed to be used with the Coffee Bytes code folder, with <<<\{\{>>> and
+ The Isis code templates that we ship are designed to be used with the Coffee Bytes code folder, with <<<\{\{>>> and
<<<\}\}>>> being used to define custom regions.
Unfortunately, though the original code-folding plugin stopped working somewhere around Eclipse 3.3.
All is not lost though; Kevin Meyer has helpfully recompiled it against Eclipse 3.5. To use it:
- * download this {{{http://isis.apache.org/com.cb.eclipse.folding.KAM-3.5.zip}zip}}
+ * download this {{{./com.cb.eclipse.folding.KAM-3.5.zip}zip}}
* unzip into Eclipse's plugins folder
Modified: incubator/isis/trunk/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/index.apt?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/apt/index.apt (original)
+++ incubator/isis/trunk/src/site/apt/index.apt Fri Oct 22 14:51:42 2010
@@ -15,28 +15,16 @@
~~ specific language governing permissions and limitations
~~ under the License.
-
- -----
- Welcome to Apache Isis
- -----
+Welcome to Apache Isis
<Apache Isis> is a full-stack open source application development framework,
designed to let you rapidly develop domain-driven business enterprise
- applications following the naked objects pattern.
-
----------------------------------------------------------------------------------------------
- Apache Isis is an effort undergoing incubation at The Apache Software Foundation (ASF),
- sponsored by the Incubator project. Incubation is required of all newly accepted projects
- until a further review indicates that the infrastructure, communications, and decision
- making process have stabilized in a manner consistent with other successful ASF projects.
- While incubation status is not necessarily a reflection of the completeness or stability
- of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
----------------------------------------------------------------------------------------------
+ applications.
The framework is designed around two patterns:
* the first is the
- {{{http://en.wikipedia.org/wiki/naked_objects}Naked Objects pattern}},
+ {{{http://en.wikipedia.org/wiki/naked_objects}naked objects pattern}},
whereby the framework automatically generates an object-oriented user
interface (OOUI) for your domain objects. If required, this OOUI can then
be customized.
@@ -76,4 +64,14 @@ Where to Start?
<Apache Isis>. To keep things manageable, we've tried to scope information
closest to where it's relevant. To help guide you through the
framework, we've also prepared a {{{./where-to-start.html}where to start}}.
+
+Disclaimer
+ <Apache Isis is an effort undergoing incubation at The Apache Software Foundation (ASF),
+ sponsored by the Incubator project. Incubation is required of all newly accepted projects
+ until a further review indicates that the infrastructure, communications, and decision
+ making process have stabilized in a manner consistent with other successful ASF projects.
+ While incubation status is not necessarily a reflection of the completeness or stability
+ of the code, it does indicate that the project has yet to be fully endorsed by the ASF.>
+
+
\ No newline at end of file
Modified: incubator/isis/trunk/src/site/apt/naked-objects-pattern-benefits.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/naked-objects-pattern-benefits.apt?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/apt/naked-objects-pattern-benefits.apt (original)
+++ incubator/isis/trunk/src/site/apt/naked-objects-pattern-benefits.apt Fri Oct 22 14:51:42 2010
@@ -17,10 +17,10 @@
-Benefits of the [[NAME]] pattern
+Benefits of the Naked Objects pattern
Developing a business application using a framework such as Isis that
- uses the [[NAME]] pattern offers four principal benefits:
+ uses the naked objects pattern offers four principal benefits:
* <<A faster development cycle>>
@@ -44,13 +44,13 @@ Benefits of the [[NAME]] pattern
* <<Easier requirements analysis>>.
- With the [[NAME]] pattern, the domain objects form a
+ With the naked objects pattern, the domain objects form a
common, "ubiquitous" language between users and developers. This common language facilitates the process of
discussing requirements - because there are no other representations to discuss. Combined with the faster
development cycle, it becomes possible to prototype functional applications in real time.
[]
- These benefits are clearly brought out in the {{{./isis-case-study.html}case study}} on the use of a [[NAME]] system in the
- Irish government. For a more formal analysis of the benefits, see Richard Pawson's {{{./Pawson-[[NAME]]-Objects-thesis.pdf}PhD thesis on [[NAME]]
+ These benefits are clearly brought out in the {{{./isis-case-study.html}case study}} on the use of a naked objects system in the
+ Irish government. For a more formal analysis of the benefits, see Richard Pawson's {{{./Pawson-Naked-Objects-thesis.pdf}PhD thesis on Naked
Objects}}.
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=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/apt/where-to-start.apt (original)
+++ incubator/isis/trunk/src/site/apt/where-to-start.apt Fri Oct 22 14:51:42 2010
@@ -29,102 +29,44 @@ Where's to Start?
On the other hand, it can be difficult to know exactly where to go in the
first place... hence these notes.
- <<Your first port of call should be the {{{./core/docbkx/pdf/isis-core.pdf}core}}
- documentation>>. In particular:
-
- * the first chapter provide a general overview of some of the principles and
- patterns of <Apache Isis>
-
- * the second chapter will take you through our recommended process of
- developing an Isis application. The focus is on using the default
- settings of the core framework, but there's plenty of signposting to
- alternate implementations of Isis' various components.
-
- []
-
- That documentation also covers the core APIs and their default
- implementations, and it also details how to deploy your application in
- various configurations (webapp or client/server) with those default
- implementations.
-
- If you were only going to use the default implementations, then the above
- core documentation ought to be all you would need to read. However, chances
- are that you'll want to use one of the alternates, which means you'll also
- need to refer to other documentation.
-
-What Else to Read?
-
- The remaining documentation is specific to each module, either giving
- guidance and support on how to develop Isis applications, or describing how
- to configure some alternate implementation:
-
- * the {{{./support/archetypes/application/index.html}application}} archetype
-
- is used to create an initial <Apache Isis> application to get you started.
- set up using the in-memory object
- store, the {{{./plugins/dnd-viewer/index.html}DnD viewer}}, and the
- {{{./plugins/html-viewer/index.html}HTML viewer}}.
+ <<Your first port of call should be the {{{./applib/docbkx/pdf/isis-applib.pdf}applib}}
+ documentation>>. This describes how to go about writing a domain application following
+ Isis' programming model.
+
+ 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).
+
+ 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.
+
+What Else is There?
+
+ Isis comes with a couple of Maven archetypes to help you get started quickly:
+
+ * the {{{./support/archetypes/demo/index.html}demo}} archetype
+
+ is a multi-module archetype that creates a small but complete demo <Apache Isis> application (<<<Customer>>>,
+ <<<Order>>>, <<<OrderItem>>>, <<<Product>>>). It has child modules for all of the main
+ components, giving you a good idea of how they are meant to work in practice.
- * the {{{./applib/index.html}applib}} module
-
- describes Isis' <programming model> along with the use of fixtures
- during prototyping and testing;
-
- * the {{{./alternates/storytests/index.html}storytests}} module
-
- is used for writing story tests using FitNesse or Concordion;
-
- * the {{{./alternates/headless/index.html}headless}} module
-
- has support for writing unit tests with various JUnit integrations. This
- module can also be used for domain objects that collaborate with each other
- through
-
- * the {{{./support/domain/index.html}domain}} library
-
- provides using off-the-shelf services, values and entities for you to reuse
-
- * the various object stores:
-
- * {{{./alternates/objectstores/xml/index.html}XML Object Store}}
-
- * {{{./alternates/objectstores/berkeley/index.html}Berkeley Object Store}}
+ * the {{{./support/archetypes/isis-app/index.html}isis-app}} archetype
- * {{{./alternates/objectstores/sql/index.html}SQL Object Store}}
-
- * {{{./alternates/objectstores/jpa/index.html}JPA Object Store}}
-
- * {{{./alternates/objectstores/couchdb/index.html}CouchDB Object Store}}
-
- []
-
- * the various viewers:
-
- * {{{./alternates/viewers/dnd/index.html}DnD}} viewer
-
- * {{{./alternates/viewers/html/index.html}HTML}} viewer
-
- * {{{./alternates/viewers/scimpi/index.html}Scimpi}} viewer
-
- * {{{./alternates/viewers/wicket/index.html}Wicket}} viewer
+ is almost identical to the <demo> archetype, but has a very minimal domain model.
+ The idea is that you use this archetype to create your project, then delete (or ignore) the child modules that
+ you don't care about.
- * {{{./alternates/viewers/restful/index.html}RESTful}} viewer
-
- []
-
- * using {{{./alternates/http-remoting/index.html}http-remoting}}
-
- for the network transport in client/server deployments (the default is
- plain sockets);
+ []
- * using {{{./alternates/xstream-marshalling/index.html}xstream-marshalling}}
-
- for the marshalling mechanism in client/server deployments (the default
- is encoding/serialization);
+ You might also be interested in the {{{./support/domain/index.html}domain}} library, which
+ provides off-the-shelf domain services and value types integrations for you to reuse.
+
+ Finally, to speed up your coding we provide some templates and other help for IDEs; check out
+ the {{{./ide-support.html}IDE support}} page.
- * using {{{./alternates/ldap-auth/index.html}LDAP auth}}
-
- for the authentication and authorization using LDAP (the default is a simple
- file-based implementation)
[]
Modified: incubator/isis/trunk/src/site/apt/who-we-are.apt
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/apt/who-we-are.apt?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/apt/who-we-are.apt (original)
+++ incubator/isis/trunk/src/site/apt/who-we-are.apt Fri Oct 22 14:51:42 2010
@@ -20,31 +20,31 @@ Team
The table below lists the officers currently engaged with Apache Isis.
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|<<Who>> |<<Role>> |<<Core>> |<<Viewers>> |<<Object Stores>> |<<Other>> |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Dan Haywood |PPMC, Committer |Core, Remoting, JSR-299 |Wicket, Restful |JPA |StoryTests, Headless, Groovy |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Robert Matthews |PPMC, Committer |Core, Remoting |DnD, HTML, Scimpi |Berkeley, XML, SQL, CouchDB| |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Kevin Meyer |PPMC, Committer | | |SQL | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Dave Slaughter |PPMC, Committer | | |XML | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Alexander Krasnukhin |PPMC, Committer | |Android? | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Mark Struberg |PPMC, Champion, Mentor |JSR-299 | | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Benson Marguiles |PPMC, Mentor | | | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Siegfried Goeschl |PPMC, Mentor | | | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|James Carman |PPMC, Mentor | | | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Vincent Massol |PPMC, Mentor | | | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Mohammed Nour El-Din |PPMC, Committer |JSR-299, MetaModel? | | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
-|Ulrich Stark |(to confirm) | |Tapestry? | | |
-*----------------------+-----------------------+------------------------+------------------+---------------------------+-----------------------------+
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|<<Who>> |<<Role>> |<<Core>> |<<Viewers>> |<<Object Stores>> |<<Alternatives>> |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Dan Haywood |PPMC, Committer |Core, JSR-299 |Wicket, Restful, BDD, JUnit |JPA |Remoting, Headless, Groovy |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Robert Matthews |PPMC, Committer |Core |DnD, HTML, Scimpi |XML, SQL, NoSQL |Remoting |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Kevin Meyer |PPMC, Committer | | |SQL | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Dave Slaughter |PPMC, Committer | | |XML | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Alexander Krasnukhin |PPMC, Committer | |Android? | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Mark Struberg |PPMC, Champion, Mentor |JSR-299 | | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Benson Marguiles |PPMC, Mentor | | | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Siegfried Goeschl |PPMC, Mentor | | | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|James Carman |PPMC, Mentor | | | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Vincent Massol |PPMC, Mentor | | | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Mohammed Nour El-Din |PPMC, Committer |JSR-299, MetaModel? | | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
+|Ulrich Stark |(to confirm) | |Tapestry? | | |
+*----------------------+-----------------------+------------------------+------------------------------+---------------------------+-----------------------------+
\ No newline at end of file
Modified: incubator/isis/trunk/src/site/pdf.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/pdf.xml?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/src/site/pdf.xml (original)
+++ incubator/isis/trunk/src/site/pdf.xml Fri Oct 22 14:51:42 2010
@@ -12,84 +12,29 @@
site.
Only the toc items need to be maintained manually; the rest is boilerplate.
-
- In addition to the site-docs PDF defined by this page, there may also
- be formal DocBook documentation.
-->
<toc name="Table of Contents" depth="1">
<item name="Introducing Apache Isis" ref="index.apt"/>
<item name="Where to start?" ref="where-to-start.apt" />
- <item name="IDE Support" ref="ide-support.apt"/>
<item name="Who we are" ref="who-we-are.apt"/>
+ <item name="IDE Support" ref="ide-support.apt"/>
<item name="Roadmap" ref="roadmap.apt"/>
- <item name="Appendix: Background Material" ref="background-material.apt"/>
- <item name="Appendix: Jottings" ref="jottings.apt"/>
+
+ <item name="Contributors: Dev Env" ref="contributors-devenv.html" />
+ <item name="Contributors: Building" ref="contributors-building.html" />
+ <item name="Contributors: Writing Docs" ref="contributors-writing-docs.html" />
+ <item name="Contributors: Deploying" ref="contributors-deploying.html" />
+ <item name="Contributors: Jottings" ref="jottings.html" />
</toc>
- <!--
- TODO: to go through
-
- <toc name="Table of Contents" depth="3">
- <item name="Introduction" ref="getting-startedx.xml">
- <item name="What is [[NAME]]" ref="introduction.xml" />
- <item name="An Online Demo" ref="demo.xml" />
- <item name="User Stories/Examples" ref="dsfa-intro.xml" />
- <item name="FAQ" ref="faq.fml" />
- </item>
-
- <item name="Getting Started" ref="getting-started.xml">
- <item name="A quick tutorial" ref="quick-tutorial.html" />
-
- <item name="Getting Started" ref="developer-tutorial.xml" />
- <item name="Tutorial" ref="tutorial.xml" />
-
- <item name="Examples" ref="examples.html" />
- <item name="How it works" ref="how-it-works.html" />
- </item>
-
- <item name="Developing [[NAME]] Applications" ref="getting-startedx.xml">
- <item name="Installation" ref="installation.xml" />
- <item name="Developing Domain Objects" ref="developing-domain-objects.html" />
- <item name="Building Apps with Ant" ref="building-with-ant.html" />
- <item name="Building Apps with Maven" ref="building-with-maven.html" />
- <item name="Running as a Prototype" ref="running-prototype.html" />
- </item>
-
- <item name="Developer's Reference" ref="getting-startedx.xml">
- <item name="Filename conventions" ref="file-nameconvention.xml" />
- <item name="Archetype" ref="archetype.xml" />
- <item name="Recognised Types" ref="recognised-types.xml" />
- <item name="Recognised Methods" ref="recognised-methods.xml" />
- <item name="Recognised Annotations" ref="recognised-annotations.xml" />
- <item name="Services" ref="services.xml" />
- <item name="Fixtures" ref="fixtures.xml" />
- <item name="Command Line Parameters" ref="command-line-parameters.xml" />
- <item name="Images" ref="images.xml" />
- <item name="Configuration" ref="configuration.xml" />
-
- <item name="Test links" ref="building.apt" />
-
- </item>
-
- <item name="Extending and Developing the Framework" ref="getting-startedx.xml">
-
- <item name="Framework" ref="framework.xml" />
- <item name="New material" ref="new material to add.xml" />
- <item name="Reflection" ref="reflection.xml" />
- <item name="System" ref="system.xml" />
- <item name="Notes" ref="notes-on-nof.xml" />
- </item>
- </toc>
- -->
-
<cover>
<coverType>${pdf.title}</coverType>
<coverTitle>${project.name}</coverTitle>
<coverSubTitle>v. ${project.version}</coverSubTitle>
<coverdate>${date}</coverdate>
<projectName>${project.name}</projectName>
- <projectLogo>${trunk.baseDir}/src/site/resources/images/logo.png</projectLogo>
+ <projectLogo>${trunkBaseDir}/src/site/resources/images/logo.png</projectLogo>
<companyName>${project.organization.name}</companyName>
</cover>
Added: incubator/isis/trunk/src/site/resources/codequality/checkstyle.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/codequality/checkstyle.xml?rev=1026350&view=auto
==============================================================================
--- incubator/isis/trunk/src/site/resources/codequality/checkstyle.xml (added)
+++ incubator/isis/trunk/src/site/resources/codequality/checkstyle.xml Fri Oct 22 14:51:42 2010
@@ -0,0 +1,237 @@
+<?xml version="1.0"?>
+<!--
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+ -->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
+
+<!--
+
+ Checkstyle configuration that checks the sun coding conventions from:
+
+ - the Java Language Specification at
+ http://java.sun.com/docs/books/jls/second_edition/html/index.html
+
+ - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
+
+ - the Javadoc guidelines at
+ http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
+
+ - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
+
+ - some best practices
+
+ Checkstyle is very configurable. Be sure to read the documentation at
+ http://checkstyle.sf.net (or in your downloaded distribution).
+
+ Most Checks are configurable, be sure to consult the documentation.
+
+ To completely disable a check, just comment it out or delete it from the file.
+
+ Finally, it is worth reading the documentation.
+
+-->
+
+<module name="Checker">
+
+ <!-- Checks that a package.html file exists for each package. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
+ <!--
+ <module name="PackageHtml"/>
+ -->
+
+ <!-- Checks whether files end with a new line. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+ <!--
+ <module name="NewlineAtEndOfFile"/>
+ -->
+
+ <!-- Checks that property files contain the same keys. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+ <module name="Translation"/>
+
+ <module name="TreeWalker">
+
+ <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+ <!-- ************************************************************** -->
+ <!-- Checks that are different from the sun coding conventions ones -->
+ <!-- ************************************************************** -->
+ <!--
+ <property name="tabWidth" value="4"/>
+ <module name="LeftCurly">
+ <property name="option" value="nl"/>
+ </module>
+ <module name="RightCurly">
+ <property name="option" value="alone"/>
+ </module>
+ <module name="MemberName">
+ <property name="format" value="^m_[a-z](_?[a-zA-Z0-9])*$"/>
+ </module>
+ <module name="StaticVariableName">
+ <property name="format" value="^c_[a-z](_?[a-zA-Z0-9])*$"/>
+ </module>
+ <module name="MethodName">
+ <property name="format" value="[a-z](_?[a-zA-Z0-9]+)*$"/>
+ </module>
+ <module name="ParameterName">
+ <property name="format" value="[a-z](_?[a-zA-Z0-9]+)*$"/>
+ </module>
+ <module name="LocalVariableName">
+ <property name="format" value="[a-z](_?[a-zA-Z0-9]+)*$"/>
+ </module>
+ -->
+
+ <!-- ************************************************************** -->
+ <!-- Default Sun coding conventions checks -->
+ <!-- ************************************************************** -->
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <!--
+ <module name="JavadocMethod"/>
+ <module name="JavadocType"/>
+ <module name="JavadocVariable"/>
+ -->
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="ConstantName"/>
+ <module name="PackageName"/>
+ <module name="TypeName"/>
+ <module name="LocalFinalVariableName"/>
+ <!--
+ -->
+
+
+ <!-- Checks for Headers -->
+ <!-- See http://checkstyle.sf.net/config_header.html -->
+ <!--
+ <module name="Header">
+ -->
+ <!-- The follow property value demonstrates the ability -->
+ <!-- to have access to ANT properties. In this case it uses -->
+ <!-- the ${basedir} property to allow Checkstyle to be run -->
+ <!-- from any directory within a project. -->
+ <!--
+ <property name="headerFile" value="${checkstyle.header.file}"/>
+ </module>
+ -->
+
+ <!-- Following interprets the header file as regular expressions. -->
+ <!-- <module name="RegexpHeader"/> -->
+
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
+ <!--
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+ -->
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <!--
+ <module name="FileLength"/>
+ <module name="LineLength"/>
+ <module name="MethodLength"/>
+ <module name="ParameterNumber"/>
+ -->
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <!--
+ <module name="EmptyForIteratorPad"/>
+ <module name="NoWhitespaceAfter"/>
+ <module name="NoWhitespaceBefore"/>
+ <module name="OperatorWrap"/>
+ <module name="ParenPad"/>
+ <module name="TabCharacter"/>
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+ -->
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <!--
+ <module name="ModifierOrder"/>
+ <module name="RedundantModifier"/>
+ -->
+
+
+ <!-- Checks for blocks. You know, those {}'s -->
+ <!-- See http://checkstyle.sf.net/config_blocks.html -->
+ <!--
+ <module name="AvoidNestedBlocks"/>
+ <module name="EmptyBlock"/>
+
+ <module name="NeedBraces"/>
+ -->
+
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <!--
+ <module name="AvoidInlineConditionals"/>
+ <module name="DoubleCheckedLocking"/>
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="HiddenField"/>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MagicNumber"/>
+ <module name="MissingSwitchDefault"/>
+ <module name="RedundantThrows"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+ -->
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <!--
+ <module name="DesignForExtension"/>
+ <module name="FinalClass"/>
+ <module name="HideUtilityClassConstructor"/>
+ <module name="InterfaceIsType"/>
+ <module name="VisibilityModifier"/>
+ -->
+
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <!--
+ <module name="ArrayTypeStyle"/>
+ <module name="FinalParameters"/>
+ <module name="GenericIllegalRegexp">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+ <module name="TodoComment"/>
+ <module name="UpperEll"/>
+ -->
+
+ </module>
+
+</module>
Added: incubator/isis/trunk/src/site/resources/codequality/pmd.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/codequality/pmd.xml?rev=1026350&view=auto
==============================================================================
--- incubator/isis/trunk/src/site/resources/codequality/pmd.xml (added)
+++ incubator/isis/trunk/src/site/resources/codequality/pmd.xml Fri Oct 22 14:51:42 2010
@@ -0,0 +1,47 @@
+<?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.
+-->
+<ruleset name="Maven Ruleset"
+ xmlns="http://pmd.sf.net/ruleset/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
+ xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
+
+ <!--
+ Customized PMD ruleset for Maven, see [0] for more information
+ [0] http://pmd.sourceforge.net/howtomakearuleset.html
+ -->
+
+ <description>
+ This ruleset checks the code for discouraged programming constructs.
+ </description>
+
+ <rule ref="rulesets/basic.xml">
+ <exclude name="EmptyCatchBlock"/>
+ </rule>
+ <rule ref="rulesets/basic.xml/EmptyCatchBlock">
+ <properties>
+ <property name="allowCommentedBlocks" value="true"/>
+ </properties>
+ </rule>
+
+ <rule ref="rulesets/unusedcode.xml"/>
+
+ <rule ref="rulesets/imports.xml"/>
+</ruleset>
Copied: incubator/isis/trunk/src/site/resources/ide/eclipse/templates/Apache-Isis-code-style-cleanup.xml (from r1025885, incubator/isis/trunk/distribution/tarball/src/main/ide/eclipse/templates/eclipse-java-cleanup.xml)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/ide/eclipse/templates/Apache-Isis-code-style-cleanup.xml?p2=incubator/isis/trunk/src/site/resources/ide/eclipse/templates/Apache-Isis-code-style-cleanup.xml&p1=incubator/isis/trunk/distribution/tarball/src/main/ide/eclipse/templates/eclipse-java-cleanup.xml&r1=1025885&r2=1026350&rev=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/distribution/tarball/src/main/ide/eclipse/templates/eclipse-java-cleanup.xml (original)
+++ incubator/isis/trunk/src/site/resources/ide/eclipse/templates/Apache-Isis-code-style-cleanup.xml Fri Oct 22 14:51:42 2010
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="2">
-<profile kind="CleanUpProfile" name="StarObjects" version="2">
+<profile kind="CleanUpProfile" name="Apache Isis" version="2">
<setting id="cleanup.remove_unused_private_fields" value="true"/>
<setting id="cleanup.always_use_parentheses_in_expressions" value="false"/>
<setting id="cleanup.never_use_blocks" value="false"/>
Copied: incubator/isis/trunk/src/site/resources/ide/eclipse/templates/isis-templates.xml (from r1025885, incubator/isis/trunk/distribution/tarball/src/main/ide/eclipse/templates/nakedobjects-templates.xml)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/ide/eclipse/templates/isis-templates.xml?p2=incubator/isis/trunk/src/site/resources/ide/eclipse/templates/isis-templates.xml&p1=incubator/isis/trunk/distribution/tarball/src/main/ide/eclipse/templates/nakedobjects-templates.xml&r1=1025885&r2=1026350&rev=1026350&view=diff
==============================================================================
--- incubator/isis/trunk/distribution/tarball/src/main/ide/eclipse/templates/nakedobjects-templates.xml (original)
+++ incubator/isis/trunk/src/site/resources/ide/eclipse/templates/isis-templates.xml Fri Oct 22 14:51:42 2010
@@ -1,21 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?><templates><template autoinsert="true" context="java-members" deleted="false" description="Action" enabled="true" name="noa">// {{ ${actionName}
+<?xml version="1.0" encoding="UTF-8"?><templates><template autoinsert="true" context="java-members" deleted="false" description="Action" enabled="true" name="isa">// {{ ${actionName}
${:import(org.apache.isis.applib.annotation.MemberOrder)}@MemberOrder(sequence="1")
public ${ReturnType} ${actionName}(final ${ParameterType} ${parameterType}) {
return ${cursor}null; // TODO: business logic here
}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument N choices" enabled="true" name="noacho">${:import(java.util.Collections,java.util.List)}public List<${ParameterType}> choices${ParameterNumThenCapitalizedActionName}() {
+</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument N choices" enabled="true" name="isacho">${:import(java.util.Collections,java.util.List)}public List<${ParameterType}> choices${ParameterNumThenCapitalizedActionName}() {
return ${cursor}Collections.emptyList(); // TODO: return list of choices for argument N
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument defaults" enabled="true" name="noadef">public ${ParameterType} default${ParameterNumThenCapitalizedActionName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument defaults" enabled="true" name="isadef">public ${ParameterType} default${ParameterNumThenCapitalizedActionName}() {
return ${cursor}null; // TODO: return default for argument N
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action disabling" enabled="true" name="noadis">public String disable${ActionName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action disabling" enabled="true" name="isadis">public String disable${ActionName}() {
return ${cursor}null; // TODO: return reason why action disabled, null if enabled
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action hiding" enabled="true" name="noahid">public boolean hide${ActionName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action hiding" enabled="true" name="isahid">public boolean hide${ActionName}() {
return ${cursor}false; // TODO: return true if action is hidden, false if visible
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action validation" enabled="true" name="noaval">public String validate${ActionName}(final ${ParameterType} ${parameterType}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action validation" enabled="true" name="isaval">public String validate${ActionName}(final ${ParameterType} ${parameterType}) {
return ${cursor}null; // TODO: return reason why action arguments are invalid, null if ok
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (1:m bidir parent)" enabled="true" name="noc-1m">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (1:m bidir parent)" enabled="true" name="isc-1m">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
// check for no-op
if (${childElementName} == null ||
get${ChildCollectionName}().contains(${childElementName})) {
@@ -40,7 +40,7 @@ public void removeFrom${ChildCollectionN
get${ChildCollectionName}().remove(${childElementName});
// additional business logic
onRemoveFrom${ChildCollectionName}(${childElementName});
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir child)" enabled="true" name="noc-mmc">public void addTo${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir child)" enabled="true" name="isc-mmc">public void addTo${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) {
// check for no-op
if (${parentElementName} == null ||
get${ParentCollectionName}().contains(${parentElementName})) {
@@ -61,7 +61,7 @@ public void removeFrom${ParentCollection
${parentElementName}.removeFrom${ChildCollectionNameInParent}(this);
// additional business logic
onRemoveFrom${ParentCollectionName}(${parentElementName});
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir parent)" enabled="true" name="noc-mmp">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir parent)" enabled="true" name="isc-mmp">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
// check for no-op
if (${childElementName} == null ||
get${ChildCollectionName}().contains(${childElementName})) {
@@ -86,11 +86,11 @@ public void removeFrom${ChildCollectionN
get${ChildCollectionName}().remove(${childElementName});
// additional business logic
onRemoveFrom${ChildCollectionName}(${childElementName});
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection disabling" enabled="true" name="nocdis">public String disable${CollectionName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection disabling" enabled="true" name="iscdis">public String disable${CollectionName}() {
return ${cursor}null; // TODO: return reason why collection read-only, null if editable
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection hiding" enabled="true" name="nochid">public boolean hide${CollectionName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection hiding" enabled="true" name="ischid">public boolean hide${CollectionName}() {
return ${cursor}false; // TODO: return true if hidden, false otherwise
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (list)" enabled="true" name="nocl">// {{ ${CollectionName}
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (list)" enabled="true" name="iscl">// {{ ${CollectionName}
${:import(java.util.List,java.util.ArrayList,org.apache.isis.applib.annotation.MemberOrder)}private List<${ElementType}> ${collectionName} = new ArrayList<${ElementType}>();
@MemberOrder(sequence="1")
public List<${ElementType}> get${CollectionName}() {
@@ -101,7 +101,7 @@ public void set${CollectionName}(final L
}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Collection modify" enabled="true" name="nocmod">public void addTo${CollectionName}(final ${ElementType} ${elementName}) {
+</template><template autoinsert="true" context="java-members" deleted="false" description="Collection modify" enabled="true" name="iscmod">public void addTo${CollectionName}(final ${ElementType} ${elementName}) {
// check for no-op
if (${elementName} == null ||
get${CollectionName}().contains(${elementName})) {
@@ -126,7 +126,7 @@ public void removeFrom${CollectionName}(
protected void onAddTo${CollectionName}(final ${ElementType} ${elementName}) {
}
protected void onRemoveFrom${CollectionName}(final ${ElementType} ${elementName}) {
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (set)" enabled="true" name="nocs">// {{ ${CollectionName}
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (set)" enabled="true" name="iscs">// {{ ${CollectionName}
${:import(java.util.Set,java.util.LinkedHashSet,org.apache.isis.applib.annotation.MemberOrder)}private Set<${ElementType}> ${collectionName} = new LinkedHashSet<${ElementType}>();
@MemberOrder(sequence="1")
public Set<${ElementType}> get${CollectionName}() {
@@ -137,25 +137,25 @@ public void set${CollectionName}(final S
}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Collection validation" enabled="true" name="nocval">public String validateAddTo${CollectionName}(final ${ElementType} ${elementName}) {
+</template><template autoinsert="true" context="java-members" deleted="false" description="Collection validation" enabled="true" name="iscval">public String validateAddTo${CollectionName}(final ${ElementType} ${elementName}) {
return ${cursor}null; // TODO: return reason why argument cannot be added, null if ok to add
}
public String validateRemoveFrom${CollectionName}(final ${ElementType} ${elementName}) {
return null; // TODO: return reason why argument cannot be removed, null if ok to remove
}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies region" enabled="true" name="nod">// {{ injected dependencies
+</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies region" enabled="true" name="isd">// {{ injected dependencies
${cursor}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies - injected service" enabled="true" name="nods">// {{ injected: ${ServiceType}
+</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies - injected service" enabled="true" name="isds">// {{ injected: ${ServiceType}
private ${ServiceType} ${serviceType};
public void set${ServiceType}(final ${ServiceType} ${serviceType}) {
this.${serviceType} = ${serviceType};
}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (persistent)" enabled="true" name="nofp">// {{ Create new (already persisted) ${Type}
+</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (persistent)" enabled="true" name="isfp">// {{ Create new (already persisted) ${Type}
public ${Type} new${Type}() {
${Type} ${type} = newTransientInstance(${Type}.class);
${cursor}// TODO: set up any properties
@@ -163,50 +163,50 @@ public ${Type} new${Type}() {
persist(${type});
return ${type};
}
-// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (transient)" enabled="true" name="noft">// {{ Create new (still transient) ${Type}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (transient)" enabled="true" name="isft">// {{ Create new (still transient) ${Type}
public ${Type} new${InstanceOfType}() {
${Type} ${type} = newTransientInstance(${Type}.class);
${cursor}// TODO: set up any properties
return ${type};
}
-// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Identification region" enabled="true" name="noid">// {{ Identification
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Identification region" enabled="true" name="isid">// {{ Identification
${cursor}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - icon" enabled="true" name="noidicon">public String iconName() {
+</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - icon" enabled="true" name="isidicon">public String iconName() {
return ${cursor}null; // TODO: return name of image file (without suffix)
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - title" enabled="true" name="noidtitle">public String title() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - title" enabled="true" name="isidtitle">public String title() {
${:import(org.apache.isis.applib.util.TitleBuffer)}final TitleBuffer buf = new TitleBuffer();
${cursor}// TODO: append to TitleBuffer, typically value properties
return buf.toString();
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle region" enabled="true" name="nol">// {{ Lifecycle methods
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle region" enabled="true" name="isl">// {{ Lifecycle methods
${cursor}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - create" enabled="true" name="nolc">public void created() {
+</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - create" enabled="true" name="islc">public void created() {
${cursor}// TODO: post-create
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - load" enabled="true" name="noll">public void loading() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - load" enabled="true" name="isll">public void loading() {
${cursor}// TODO: pre-load
}
public void loaded() {
// TODO: post-load
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - persist" enabled="true" name="nolp">public void persisting() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - persist" enabled="true" name="islp">public void persisting() {
${cursor}// TODO: pre-persist
}
public void persisted() {
// TODO: post-persist
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - remove" enabled="true" name="nolr">public void removing() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - remove" enabled="true" name="islr">public void removing() {
${cursor}// TODO: pre-remove
}
public void removed() {
// TODO: post-remove
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - update" enabled="true" name="nolu">public void updating() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - update" enabled="true" name="islu">public void updating() {
${cursor}// TODO: pre-update
}
public void updated() {
// TODO: post-update
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property" enabled="true" name="nop">// {{ ${PropertyName}
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property" enabled="true" name="isp">// {{ ${PropertyName}
private ${PropertyType} ${propertyName};
${:import(org.apache.isis.applib.annotation.MemberOrder)}@MemberOrder(sequence="1")
public ${PropertyType} get${PropertyName}() {
@@ -217,7 +217,7 @@ public void set${PropertyName}(final ${P
}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir child)" enabled="true" name="nop-11c">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {
+</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir child)" enabled="true" name="isp-11c">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {
${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();
// check for no-op
if (${parentPropertyName} == null ||
@@ -239,7 +239,7 @@ public void clear${PropertyName}() {
current${ParentPropertyName}.clear${ChildPropertyNameInParent}();
// additional business logic
onClear${ParentPropertyName}(current${ParentPropertyName});
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir parent)" enabled="true" name="nop-11p">public void modify${ChildPropertyName}(final ${ChildPropertyType} ${childPropertyName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir parent)" enabled="true" name="isp-11p">public void modify${ChildPropertyName}(final ${ChildPropertyType} ${childPropertyName}) {
${ChildPropertyType} current${ChildPropertyName} = get${ChildPropertyName}();
// check for no-op
if (${childPropertyName} == null ||
@@ -265,7 +265,7 @@ public void clear${ChildPropertyName}()
set${ChildPropertyName}(null);
// additional business logic
onClear${ChildPropertyName}(current${ChildPropertyName});
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (m:1 bidir child)" enabled="true" name="nop-m1">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (m:1 bidir child)" enabled="true" name="isp-m1">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {
${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();
// check for no-op
if (${parentPropertyName} == null ||
@@ -287,15 +287,15 @@ public void clear${ParentPropertyName}()
current${ParentPropertyName}.removeFrom${ChildCollectionNameInParent}(this);
// additional business logic
onClear${ParentPropertyName}(current${ParentPropertyName});
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property choices" enabled="true" name="nopcho">${:import(java.util.List)}public List<${PropertyType}> choices${PropertyName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property choices" enabled="true" name="ispcho">${:import(java.util.List)}public List<${PropertyType}> choices${PropertyName}() {
return ${cursor}null; // TODO: return list of choices for property
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property defaults" enabled="true" name="nopdef">public ${PropertyType} default${PropertyName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property defaults" enabled="true" name="ispdef">public ${PropertyType} default${PropertyName}() {
return ${cursor}null; // TODO: return default for property when first created
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property disabling" enabled="true" name="nopdis">public String disable${PropertyName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property disabling" enabled="true" name="ispdis">public String disable${PropertyName}() {
return ${cursor}null; // TODO: return reason why property is disabled, null if editable
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property hiding" enabled="true" name="nophid">public boolean hide${PropertyName}() {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property hiding" enabled="true" name="isphid">public boolean hide${PropertyName}() {
return ${cursor}false; // TODO: return true if hidden, false if visible
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property modify" enabled="true" name="nopmod">public void modify${PropertyName}(final ${PropertyType} ${propertyName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property modify" enabled="true" name="ispmod">public void modify${PropertyName}(final ${PropertyType} ${propertyName}) {
${PropertyType} current${PropertyName} = get${PropertyName}();
// check for no-op
if (${propertyName} == null ||
@@ -321,10 +321,10 @@ public void clear${PropertyName}() {
protected void onModify${PropertyName}(final ${PropertyType} old${PropertyName}, final ${PropertyType} new${PropertyName}) {
}
protected void onClear${PropertyName}(final ${PropertyType} old${PropertyName}) {
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property validation" enabled="true" name="nopval">public String validate${PropertyName}(final ${PropertyType} ${propertyName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property validation" enabled="true" name="ispval">public String validate${PropertyName}(final ${PropertyType} ${propertyName}) {
if (${propertyName} == null) return null;
return ${cursor}null; // TODO: return reason why proposed value is invalid, null if valid
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all" enabled="true" name="nosa">// {{ all ${TypePlural}
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all" enabled="true" name="issa">// {{ all ${TypePlural}
${:import(org.apache.isis.applib.annotation.Exploration,java.util.List)}@Exploration
public List<${Type}> all${TypePlural}() {
return allInstances(${Type}.class);
@@ -332,7 +332,7 @@ public List<${Type}> all${TypePlur
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all matching" enabled="true" name="nosafil">// {{ all ${TypePlural} that ${filterDescription}
+</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all matching" enabled="true" name="issafil">// {{ all ${TypePlural} that ${filterDescription}
${:import(org.apache.isis.applib.annotation.Exploration,org.apache.isis.applib.Filter,java.util.List)}@Exploration
public List<${Type}> all${TypePlural}Matching(final Filter<${Type}> filter) {
return allMatches(${Type}.class, filter);
@@ -340,18 +340,18 @@ public List<${Type}> all${TypePlur
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Search for first matching" enabled="true" name="nosffil">// {{ first ${Type} that ${filterDescription}
+</template><template autoinsert="true" context="java-members" deleted="false" description="Search for first matching" enabled="true" name="issffil">// {{ first ${Type} that ${filterDescription}
${:import(org.apache.isis.applib.annotation.Exploration,org.apache.isis.applib.Filter,java.util.List)}@Exploration
public ${Type} first${Type}Matching(final Filter<${Type}> filter) {
return firstMatch(${Type}.class, filter);
}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Search for unique matching" enabled="true" name="nosufil">// {{ unique ${Type} that ${filterDescription}
+</template><template autoinsert="true" context="java-members" deleted="false" description="Search for unique matching" enabled="true" name="issufil">// {{ unique ${Type} that ${filterDescription}
${:import(org.apache.isis.applib.annotation.Exploration,org.apache.isis.applib.Filter,java.util.List)}@Exploration
public ${Type} unique${Type}Matching(final Filter<${Type}> filter) {
return uniqueMatch(${Type}.class, filter);
}
// }}
-</template><template autoinsert="true" context="java-members" deleted="false" description="Object-level validation" enabled="true" name="noval">public String validate() {
+</template><template autoinsert="true" context="java-members" deleted="false" description="Object-level validation" enabled="true" name="isval">public String validate() {
${cursor}// TODO: return reason why object is in invalid state (and so cannot be saved/updated), or null if ok
-}</template></templates>
\ No newline at end of file
+}</template></templates>
Modified: incubator/isis/trunk/src/site/resources/images/HexagonalArchitectureOverview.odg
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/images/HexagonalArchitectureOverview.odg?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
Binary files - no diff available.
Modified: incubator/isis/trunk/src/site/resources/images/HexagonalArchitectureOverview.png
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/images/HexagonalArchitectureOverview.png?rev=1026350&r1=1026349&r2=1026350&view=diff
==============================================================================
Binary files - no diff available.
Added: incubator/isis/trunk/src/site/resources/images/logo.png
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/src/site/resources/images/logo.png?rev=1026350&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/isis/trunk/src/site/resources/images/logo.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream