Author: danhaywood
Date: Thu Nov 20 17:17:41 2014
New Revision: 1640767

URL: http://svn.apache.org/r1640767
Log:
derived properties, other bits n bobs

Modified:
    isis/site/trunk/content/contributors/release-process.md
    isis/site/trunk/content/contributors/resources/release.sh
    isis/site/trunk/content/intro/getting-started/simpleapp-archetype.md
    isis/site/trunk/content/intro/getting-started/todoapp-archetype.md
    
isis/site/trunk/content/more-advanced-topics/how-to-04-010-How-to-make-a-derived-property.md
    
isis/site/trunk/content/more-advanced-topics/how-to-04-020-How-to-make-a-derived-collection.md

Modified: isis/site/trunk/content/contributors/release-process.md
URL: 
http://svn.apache.org/viewvc/isis/site/trunk/content/contributors/release-process.md?rev=1640767&r1=1640766&r2=1640767&view=diff
==============================================================================
--- isis/site/trunk/content/contributors/release-process.md (original)
+++ isis/site/trunk/content/contributors/release-process.md Thu Nov 20 17:17:41 
2014
@@ -107,10 +107,10 @@ git pull --ff-only
 
 Then, determine/confirm the version number of the module being released.  This 
should be in line with our [semantic versioning policy](versioning-policy.html).
 
-Next, create a release branch in your local Git repo, using the version number 
determined and as per [these standards](release-branch-and-tag-names.html).  
For example, to prepare release candidate #1 for a release 1.7.0 of `core`, use:
+Next, create a release branch in your local Git repo, using the version number 
determined and as per [these standards](release-branch-and-tag-names.html).  
For example, to prepare release candidate #1 for a release 1.8.0 of `core`, use:
 
 <pre>
-git checkout -b prepare/isis-1.7.0
+git checkout -b prepare/isis-1.8.0
 </pre>
 
 All release preparation is done locally; if we are successful, this branch 
will be pushed back to master.
@@ -129,11 +129,11 @@ Before making any formal release, there 
 
 The version number of the parent pom should reflect the branch name that you 
are now on (with a `-SNAPSHOT` suffix).  In many cases this will have been done 
already during earlier development; but confirm that it has been updated.  If 
it has not, make the change.
 
-For example, if releasing `core` version `1.7.0`, the POM should read:
+For example, if releasing `core` version `1.8.0`, the POM should read:
 
     <groupId>org.apache.isis.core</groupId>
     <artifactId>isis</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
 
 ### Update parent (Isis Core)
 
@@ -157,7 +157,7 @@ If releasing a non-core component, then 
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.7.0</version>
+        <version>1.8.0</version>
         <relativePath />
     </parent>
 
@@ -356,9 +356,9 @@ Most of the work is done using the `mvn 
 Run the dry-run as follows:
 
     mvn release:prepare -P apache-release -D dryRun=true \
-        -DreleaseVersion=1.7.0 \
-        -Dtag=isis-1.7.0 \
-        -DdevelopmentVersion=1.8.0-SNAPSHOT
+        -DreleaseVersion=1.8.0 \
+        -Dtag=isis-1.8.0 \
+        -DdevelopmentVersion=1.9.0-SNAPSHOT
 
 where:
 
@@ -388,24 +388,17 @@ $ mvn release:prepare -P apache-release 
 [INFO] Isis Core MetaModel
 [INFO] Isis Core Runtime
 [INFO] Isis Core WebServer
-[INFO] Isis Core CgLib Bytecode
-[INFO] Isis Core Javassist Bytecode
-[INFO] Isis Core (In-Memory) ObjectStore
-[INFO] Isis Core (In-memory) ProfileStore
-[INFO] Isis Core (Bypass) Security
-[INFO] Isis Core TCK App
-[INFO] Isis Core TCK DOM
+       ...
 [INFO] Isis Core Integration Testing Support
-[INFO] Isis Core TCK Fixtures
 [INFO]
 [INFO] ------------------------------------------------------------------------
-[INFO] Building Apache Isis Core 1.7.0-SNAPSHOT
+[INFO] Building Apache Isis Core 1.8.0-SNAPSHOT
 [INFO] ------------------------------------------------------------------------
 [INFO]
 [INFO] --- maven-release-plugin:2.3.2:prepare (default-cli) @ isis ---
 [INFO] Resuming release from phase 'map-release-versions'
 What is the release version for "Apache Isis Core"? (org.apache.isis.core:isis)
-1.7.0: :
+1.8.0: :
 </pre>
 
 If you didn't provide the `releaseVersion`, `tag` and `developmentVersion` 
tags, then you'll be prompted for them.  You can generally accept the defaults 
that Maven offers.
@@ -413,19 +406,19 @@ If you didn't provide the `releaseVersio
 Assuming this completes successfully, re-run the command, but without the 
`dryRun` flag and specifying `resume=false` (to ignore the generated 
`release.properties` file that gets generated as a side-effect of using `git`). 
 You can also set the `skipTests` flag since they would have been run during 
the previous dry run:
 
     mvn release:prepare -P apache-release -D resume=false -DskipTests=true
-            -DreleaseVersion=1.7.0 \
-            -Dtag=isis-1.7.0 \
-            -DdevelopmentVersion=1.8.0-SNAPSHOT
+            -DreleaseVersion=1.8.0 \
+            -Dtag=isis-1.8.0 \
+            -DdevelopmentVersion=1.9.0-SNAPSHOT
 
 > If any issues here, then explicitly delete the generated 
 > `release.properties` file first.
 
 ### Post-prepare sanity check
 
-You should end up with artifacts in your local repo with the new version 
`1.7.0`. There are then a couple of sanity checks that you can perform:
+You should end up with artifacts in your local repo with the new version 
`1.8.0`. There are then a couple of sanity checks that you can perform:
 
 * unzip the source-release ZIP and check it builds
 
-  For example, if building core, then the ZIP file will be called 
`isis-1.7.0-source-release.zip` and should reside in 
`~/.m2/repository/org/apache/isis/core/isis/1.7.0` directory.
+  For example, if building core, then the ZIP file will be called 
`isis-1.8.0-source-release.zip` and should reside in 
`~/.m2/repository/org/apache/isis/core/isis/1.8.0` directory.
 
   Unzip in a new directory, and build.
 
@@ -479,17 +472,17 @@ The command starts off by checking out t
 [INFO] Performing a LOCAL checkout from 
scm:git:file:///C:\APACHE\isis-git-rw\co
 re
 [INFO] Checking out the project to perform the release ...
-[INFO] Executing: cmd.exe /X /C "git clone --branch isis-1.7.0 
file:///C:\APACHE\isis-git-rw\core C:\APACHE\isis-git-rw\core\target\checkout"
+[INFO] Executing: cmd.exe /X /C "git clone --branch isis-1.8.0 
file:///C:\APACHE\isis-git-rw\core C:\APACHE\isis-git-rw\core\target\checkout"
 [INFO] Working directory: C:\APACHE\isis-git-rw\core\target
 [INFO] Performing a LOCAL checkout from scm:git:file:///C:\APACHE\isis-git-rw
 [INFO] Checking out the project to perform the release ...
-[INFO] Executing: cmd.exe /X /C "git clone --branch isis-1.7.0 
file:///C:\APACHE\isis-git-rw C:\APACHE\isis-git-rw\core\target\checkout"
+[INFO] Executing: cmd.exe /X /C "git clone --branch isis-1.8.0 
file:///C:\APACHE\isis-git-rw C:\APACHE\isis-git-rw\core\target\checkout"
 [INFO] Working directory: C:\APACHE\isis-git-rw\core\target
 [INFO] Executing: cmd.exe /X /C "git ls-remote file:///C:\APACHE\isis-git-rw"
 [INFO] Working directory: C:\Users\ADMINI~1\AppData\Local\Temp
 [INFO] Executing: cmd.exe /X /C "git fetch file:///C:\APACHE\isis-git-rw"
 [INFO] Working directory: C:\APACHE\isis-git-rw\core\target\checkout
-[INFO] Executing: cmd.exe /X /C "git checkout isis-1.7.0"
+[INFO] Executing: cmd.exe /X /C "git checkout isis-1.8.0"
 [INFO] Working directory: C:\APACHE\isis-git-rw\core\target\checkout
 [INFO] Executing: cmd.exe /X /C "git ls-files"
 [INFO] Working directory: C:\APACHE\isis-git-rw\core\target\checkout
@@ -550,12 +543,12 @@ Finally, push both the branch and the ta
 
 To push the branch, for example:
 
-    git checkout prepare/isis-1.7.0
-    git push -u origin prepare/isis-1.7.0
+    git checkout prepare/isis-1.8.0
+    git push -u origin prepare/isis-1.8.0
 
 To push the tag, with the `-RCn` suffix, for example:
 
-    git push origin refs/tags/isis-1.7.0:refs/tags/isis-1.7.0-RC1
+    git push origin refs/tags/isis-1.8.0:refs/tags/isis-1.8.0-RC1
     git fetch
 
 The remote tag isn't visible locally (eg via `gitk --all`), but can be seen 
[online](https://git-wip-us.apache.org/repos/asf/isis/repo?p=isis.git;a=summary).
@@ -572,28 +565,28 @@ The following boilerplate is for a relea
 
 Use the following subject:
 <pre>
-[VOTE] Apache Isis Core release 1.7.0 RC1 and related components
+[VOTE] Apache Isis Core release 1.8.0 RC1 and related components
 </pre>
 
 And use the following body:
 
 <pre>
 I've cut a release for Apache Isis Core and related components:
-* Core 1.7.0
-* Wicket Viewer 1.7.0
-* SimpleApp Archetype 1.7.0
-* TodoApp Archetype 1.7.0
+* Core 1.8.0
+* Wicket Viewer 1.8.0
+* SimpleApp Archetype 1.8.0
+* TodoApp Archetype 1.8.0
 
 The source code artifacts have been uploaded to staging repositories on 
repository.apache.org:
 
-* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/core/isis/1.7.0/isis-1.7.0-source-release.zip
-* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/viewer/isis-viewer-wicket/1.7.0/isis-viewer-wicket-1.7.0-source-release.zip
-* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/simpleapp-archetype/1.7.0/simpleapp-archetype-1.7.0-source-release.zip
-* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/todoapp-archetype/1.7.0/todoapp-archetype-1.7.0-source-release.zip
+* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/core/isis/1.8.0/isis-1.8.0-source-release.zip
+* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/viewer/isis-viewer-wicket/1.8.0/isis-viewer-wicket-1.8.0-source-release.zip
+* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/simpleapp-archetype/1.8.0/simpleapp-archetype-1.8.0-source-release.zip
+* 
http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/todoapp-archetype/1.8.0/todoapp-archetype-1.8.0-source-release.zip
 
 For each zip there is a corresponding signature file (append .asc to the zip's 
url).
 
-In the source code repo the code has been tagged as isis-1.7.0-RC1, 
isis-viewer-wicket-1.7.0-RC1, simpleapp-archetype-1.7.0-RC1 and 
todoapp-archetype-1.7.0-RC1.
+In the source code repo the code has been tagged as isis-1.8.0-RC1, 
isis-viewer-wicket-1.8.0-RC1, simpleapp-archetype-1.8.0-RC1 and 
todoapp-archetype-1.8.0-RC1.
 
 For instructions on how to verify the release (build from binaries and/or use 
in Maven directly), see 
http://isis.apache.org/contributors/verifying-releases.html
 
@@ -606,7 +599,7 @@ Please verify the release and cast your 
 
 Remember to update:
 
-* the version number (1.7.0 or whatever)
+* the version number (1.8.0 or whatever)
 * the release candidate number (`RC1` or whatever)
 * the repository id, as provided by Nexus earlier (`orgapacheisis-10xx` or 
whatever)
 
@@ -620,7 +613,7 @@ Once the vote has completed, post the re
 For example, use the following subject for a vote on Isis Core:
 
 <pre>
-[RESULT] [VOTE] Apache Isis Core release 1.7.0
+[RESULT] [VOTE] Apache Isis Core release 1.8.0
 </pre>
 
 using the body (alter last line as appropriate):
@@ -643,28 +636,28 @@ If the vote has been successful, then re
 
 You can do this using the `scripts/promoterctag.sh` script; for example:
 
-    sh scripts/promoterctag isis-1.7.0 RC1
+    sh scripts/promoterctag isis-1.8.0 RC1
 
 Or, if you like to execute the steps in that script by hand:
 
 * add the new remote tag, for example:
 
 <pre>
-  git push origin refs/tags/isis-1.7.0:refs/tags/isis-1.7.0
+  git push origin refs/tags/isis-1.8.0:refs/tags/isis-1.8.0
   git fetch
 </pre>
 
 * delete the `-RCn` remote tag, for example:
 
 <pre>
-  git push origin --delete refs/tags/isis-1.7.0-RC1
+  git push origin --delete refs/tags/isis-1.8.0-RC1
   git fetch
 </pre>
 
 * delete the `-RCn` local tag, for example:
 
 <pre>
-  git tag -d isis-1.7.0-RC1
+  git tag -d isis-1.8.0-RC1
   git fetch
 </pre>
 
@@ -677,25 +670,25 @@ If the vote has been unsuccessful, then:
 * delete the remote branch, for example:
 
 <pre>
-  git push origin --delete prepare/isis-1.7.0
+  git push origin --delete prepare/isis-1.8.0
 </pre>
 
 * delete your local branch, for example:
 
 <pre>
-  git branch -D prepare/isis-1.7.0
+  git branch -D prepare/isis-1.8.0
 </pre>
 
 * delete the remote origin server's tag, for example:
 
 <pre>
-  git push origin --delete refs/tags/isis-1.7.0-RC1
+  git push origin --delete refs/tags/isis-1.8.0-RC1
 </pre>
 
 * delete the tag that was created locally, for example:
 
 <pre>
-  git tag -d isis-1.7.0
+  git tag -d isis-1.8.0
 </pre>
 
 * drop the staging repository in [Nexus](http://repository.apache.org)
@@ -776,7 +769,7 @@ Update the Isis CMS website:
 
   Typically this be will a new page in the core section or for one of the 
components. Make a note of the URL of this new page (for use in the mailing 
list announcement).
 
-  For example, a new release of Isis Core would have a release notes page 
`http://isis.apache.org/core/release-notes-1.7.0.html`
+  For example, a new release of Isis Core would have a release notes page 
`http://isis.apache.org/core/release-notes-1.8.0.html`
 
 * Do a search for `x.y.0-SNAPSHOT` and replace with `x.y.0`
 
@@ -813,17 +806,17 @@ Announce the release to [email protected]
 For example, for a release of Apache Isis Core, use the following subject:
 
 <pre>
-[ANN] Apache Isis version 1.7.0 Released
+[ANN] Apache Isis version 1.8.0 Released
 </pre>
 
 And use the following body (summarizing the main points as required):
 
 <pre>
 The Isis team is pleased to announce the release of:
-* Apache Isis Core version 1.7.0
-* Wicket Viewer 1.7.0
-* SimpleApp Archetype 1.7.0
-* ToDoApp Archetype 1.7.0
+* Apache Isis Core version 1.8.0
+* Wicket Viewer 1.8.0
+* SimpleApp Archetype 1.8.0
+* ToDoApp Archetype 1.8.0
 
 New features in this release include:
 - ...
@@ -861,9 +854,9 @@ Because we release from a branch, the ch
 
     git checkout master                           # update master with latest
     git pull
-    git merge prepare/isis-1.7.0                  # merge branch onto master
-    git branch -d prepare/isis-1.7.0              # branch no longer needed
-    git push origin --delete prepare/isis-1.7.0   # remote branch no longer 
needed
+    git merge prepare/isis-1.8.0                  # merge branch onto master
+    git branch -d prepare/isis-1.8.0              # branch no longer needed
+    git push origin --delete prepare/isis-1.8.0   # remote branch no longer 
needed
 
 If the core was updated, then you'll most likely need to update other POMs to 
the new `-SNAPSHOT`.
  

Modified: isis/site/trunk/content/contributors/resources/release.sh
URL: 
http://svn.apache.org/viewvc/isis/site/trunk/content/contributors/resources/release.sh?rev=1640767&r1=1640766&r2=1640767&view=diff
==============================================================================
--- isis/site/trunk/content/contributors/resources/release.sh (original)
+++ isis/site/trunk/content/contributors/resources/release.sh Thu Nov 20 
17:17:41 2014
@@ -15,8 +15,8 @@ fi
 # release candidate
 
 # export ISISART=isis
-# export ISISREL=1.6.0
-# export ISISDEV=1.7.0-SNAPSHOT
+# export ISISREL=1.8.0
+# export ISISDEV=1.9.0-SNAPSHOT
 # export ISISRC=RC1
 
 read -p "ISISART? ($ISISART): " xISISART

Modified: isis/site/trunk/content/intro/getting-started/simpleapp-archetype.md
URL: 
http://svn.apache.org/viewvc/isis/site/trunk/content/intro/getting-started/simpleapp-archetype.md?rev=1640767&r1=1640766&r2=1640767&view=diff
==============================================================================
--- isis/site/trunk/content/intro/getting-started/simpleapp-archetype.md 
(original)
+++ isis/site/trunk/content/intro/getting-started/simpleapp-archetype.md Thu 
Nov 20 17:17:41 2014
@@ -97,7 +97,7 @@ Note that if you use `mvn jetty:run`, th
 
 Finally, you can also run the app by deploying to a standalone servlet 
container such as [Tomcat](http://tomcat.apache.org).
 
-## Running the App with Fixtures (1.7.0-SNAPSHOT)
+## Running the App with Fixtures (1.7.0)
 
 It is also possible to start the application with a pre-defined set of data; 
useful for demos or manual exploratory
 testing.  This is done by specifying a _fixture script_ on the command line:

Modified: isis/site/trunk/content/intro/getting-started/todoapp-archetype.md
URL: 
http://svn.apache.org/viewvc/isis/site/trunk/content/intro/getting-started/todoapp-archetype.md?rev=1640767&r1=1640766&r2=1640767&view=diff
==============================================================================
--- isis/site/trunk/content/intro/getting-started/todoapp-archetype.md 
(original)
+++ isis/site/trunk/content/intro/getting-started/todoapp-archetype.md Thu Nov 
20 17:17:41 2014
@@ -120,7 +120,7 @@ Note that if you use `mvn jetty:run`, th
 
 Finally, you can also run the app by deploying to a standalone servlet 
container such as [Tomcat](http://tomcat.apache.org).
 
-## Running the App with Fixtures (1.7.0-SNAPSHOT)
+## Running the App with Fixtures (1.7.0)
 
 It is also possible to start the application with a pre-defined set of data; 
useful for demos or manual exploratory
 testing.  This is done by specifying a _fixture script_ on the command line:

Modified: 
isis/site/trunk/content/more-advanced-topics/how-to-04-010-How-to-make-a-derived-property.md
URL: 
http://svn.apache.org/viewvc/isis/site/trunk/content/more-advanced-topics/how-to-04-010-How-to-make-a-derived-property.md?rev=1640767&r1=1640766&r2=1640767&view=diff
==============================================================================
--- 
isis/site/trunk/content/more-advanced-topics/how-to-04-010-How-to-make-a-derived-property.md
 (original)
+++ 
isis/site/trunk/content/more-advanced-topics/how-to-04-010-How-to-make-a-derived-property.md
 Thu Nov 20 17:17:41 2014
@@ -7,7 +7,8 @@ Most derived properties are read-only, t
 other information available to the object.
 
 Omitting the mutator (`setXxx()`) method for a property indicates both
-that the field is derived, and is not be persisted.
+that the field is derived, and is not be persisted.  It should however
+be annotated with Isis' `@NotPersisted` annotation.
 
 For example:
 
@@ -16,6 +17,7 @@ For example:
         ...
 
         // this is the derived property
+        @NotPersisted
         public Employee getManager() {
             if (getDepartment() == null) { return null; }
             return getDepartment().getManager();
@@ -27,8 +29,8 @@ For example:
 
 A derived property can be made updateable (in that it takes the provided
 value and does something sensible with it) simply providing a setter that
-has been annotated using both Isis' `@NotPersisted` attribute and JDO's
-`@javax.jdo.annotations.NotPersistent` attribute:
+has been annotated using both Isis' `@NotPersisted` annotation and JDO's
+`@javax.jdo.annotations.NotPersistent` annotation:
 
     public class Employee {
         public Department getDepartment() { ... }
@@ -44,7 +46,7 @@ has been annotated using both Isis' `@No
         ...
     }
 
-### Read-write using a modify method (1.7.0-SNAPSHOT onwards)
+### Read-write using a modify method (1.7.0 onwards)
 
 Alternatively, a derived property can be made updateable by providing a 
 `modifyXxx()` supporting method:

Modified: 
isis/site/trunk/content/more-advanced-topics/how-to-04-020-How-to-make-a-derived-collection.md
URL: 
http://svn.apache.org/viewvc/isis/site/trunk/content/more-advanced-topics/how-to-04-020-How-to-make-a-derived-collection.md?rev=1640767&r1=1640766&r2=1640767&view=diff
==============================================================================
--- 
isis/site/trunk/content/more-advanced-topics/how-to-04-020-How-to-make-a-derived-collection.md
 (original)
+++ 
isis/site/trunk/content/more-advanced-topics/how-to-04-020-How-to-make-a-derived-collection.md
 Thu Nov 20 17:17:41 2014
@@ -2,17 +2,19 @@ How to make a derived collection
 --------------------------------
 
 Collections can be derived by omitting the mutator (the same way as
-properties<!--, see ?-->).
+[properties](./how-to-04-010-How-to-make-a-derived-property.html).  It should 
however be annotated with Isis' `@NotPersisted` annotation.
 
 For example:
 
     public class Department {
+
         // Standard collection
-        private List<Employee> employees = new ArrayList<Employee>();
-        public List<Employee> getEmployees() { ... }
-        private void setEmployees(List<Employee>) { ... }
+        private SortedSet<Employee> employees = new TreeSet<Employee>();
+        public SortedSet<Employee> getEmployees() { ... }
+        private void setEmployees(SortedSet<Employee>) { ... }
 
         // Derived collection
+        @NotPersisted
         public List<Employee> getTerminatedEmployees() {
             List<Employee> terminatedEmployees = new ArrayList<Employee>();
             for(Employee e: employees) {


Reply via email to