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 2011/01/08 23:54:01 UTC

svn commit: r1056832 [5/17] - in /incubator/isis/trunk: alternatives/bytecode/javassist/src/main/java/org/apache/isis/alternatives/bytecode/javassist/classsubstitutor/ alternatives/embedded/src/main/java/org/apache/isis/alternatives/embedded/ alternati...

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/maybe/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/maybe/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/maybe/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/maybe/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,36 @@
+/*
+ *  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.
+ */
+
+/**
+ * Defines interfaces for domain objects that constitute the framework's
+ * view of a "user profile". 
+ * 
+ * <p>
+ * Each user can hold a single {@link org.apache.isis.applib.profiles.Profile},
+ * which in turn can hold option settings (eg preferred colour theme) and 
+ * {@link org.apache.isis.applib.profiles.Perspective}s (a particular 
+ * arrangement of the user interface; the terminology comes from the Eclipse
+ * RCP/IDE platform).
+ *  
+ * <p>
+ * The use and surfacing of these capabilities is dependent on the viewer;
+ * most notably the drag-n-drop viewer does support the concept of a user
+ * profile, but many others do not. 
+ */
+package org.apache.isis.applib.maybe;
\ No newline at end of file

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,37 @@
+/*
+ *  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.
+ */
+
+/**
+ * The application library defines the annotations, interfaces and
+ * supporting utilities that are part of the overall Apache Isis 
+ * Programming Model. 
+ * 
+ * <p>
+ * This package contains adapter classes which can optionally be used for
+ * {@link org.apache.isis.applib.AbstractDomainObject entities}, for
+ * {@link org.apache.isis.applib.AbstractService domain services} and for
+ * {@link org.apache.isis.applib.AbstractFactoryAndRepository repositories}.
+ * 
+ * <p>
+ * In addition, it contains a {@link org.apache.isis.applib.Identifier class}
+ * that represents the identifier of an object or object member, used for
+ * example in the <tt>events</tt> package as well as internally within the
+ * framework.
+ */
+package org.apache.isis.applib;
\ No newline at end of file

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,36 @@
+/*
+ *  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.
+ */
+
+/**
+ * Defines interfaces for domain objects that constitute the framework's
+ * view of a &quot;user profile&quot;. 
+ * 
+ * <p>
+ * Each user can hold a single {@link org.apache.isis.applib.profiles.Profile},
+ * which in turn can hold option settings (eg preferred colour theme) and 
+ * {@link org.apache.isis.applib.profiles.Perspective}s (a particular 
+ * arrangement of the user interface; the terminology comes from the Eclipse
+ * RCP/IDE platform).
+ *  
+ * <p>
+ * The use and surfacing of these capabilities is dependent on the viewer;
+ * most notably the drag-n-drop viewer does support the concept of a user
+ * profile, but many others do not. 
+ */
+package org.apache.isis.applib.profiles;
\ No newline at end of file

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/Query.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/Query.java?rev=1056832&r1=1056831&r2=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/Query.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/Query.java Sat Jan  8 22:53:36 2011
@@ -22,7 +22,7 @@ package org.apache.isis.applib.query;
 import java.io.Serializable;
 
 import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.applib.Filter;
+import org.apache.isis.applib.filter.Filter;
 
 /**
  * For use by repository implementations, representing the values of a query.

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,36 @@
+/*
+ *  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.
+ */
+
+/**
+ * This package defines the {@link org.apache.isis.applib.query.Query} interface
+ * and supporting implementations.
+ * 
+ * <p>
+ * The {@link org.apache.isis.applib.query.Query} concept is provided as a
+ * standardized mechanism by which 
+ * {@link org.apache.isis.applib.AbstractFactoryAndRepository repositories}
+ * or indeed any {@link org.apache.isis.applib.AbstractDomainObject domain object}
+ * can submit.  Object store implementation are generally expected to support
+ * the {@link org.apache.isis.applib.query.QueryBuiltInAbstract built-in queries},
+ * meaning that there may not be any need to provide different implementations
+ * of the repositories.  (This provides some of the benefits that .NET has
+ * with its LINQ technology, though it is admittedly nowhere near as 
+ * sophisticated).
+ */
+package org.apache.isis.applib.query;
\ No newline at end of file

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/security/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/security/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/security/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/security/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,36 @@
+/*
+ *  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.
+ */
+
+/**
+ * This package defines types that represent the 
+ * currently logged-in {@link org.apache.isis.applib.security.UserMemento user}
+ * and their {@link org.apache.isis.applib.security.RoleMemento role}s.
+ * 
+ * <p>
+ * Typically domain objects do not need to have any knowledge of <i>who</i>
+ * is using them, because authorization is provided declaratively by the
+ * framework and is type-based.  However, there are occasions; for example,
+ * only an <tt>Employee</tt> and his superiors might be allowed to view their salary.
+ * 
+ * <p>
+ * The types are suffixed &quot;Memento&quot; because they snapshot the user
+ * and roles at the time that the user logs in, but are not updated after that 
+ * point.
+ */
+package org.apache.isis.applib.security;
\ No newline at end of file

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/snapshot/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/snapshot/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/snapshot/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/snapshot/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,41 @@
+/*
+ *  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.
+ */
+
+/**
+ * This package defines a marker {@link org.apache.isis.applib.snapshot.Snapshottable interface}
+ * that indicates that the implementing domain object can be &quot;snapshotted&quot;
+ * into an XML format using a utility class provided by the framework.
+ * 
+ * <p>
+ * The extent of the data within the XML snapshot can be controlled programmatically,
+ * typically by the object creating the snapshot.  If the responsibility for knowing
+ * what should go into the XML is actually in the 
+ * {@link org.apache.isis.applib.snapshot.Snapshottable}
+ * domain object itself, then the {@link org.apache.isis.applib.snapshot.SnapshottableWithInclusions}
+ * interface can be used instead.
+ *
+ * <p>
+ * The utility class that is used to create the snapshot is called 
+ * <tt>XmlSnapshot</tt>, and resides within the <tt>core.runtime</tt> module.  
+ * Best practice is to define a <tt>SnapshotService</tt>
+ * interface as a domain service, and whose implementation will delegate to the
+ * <tt>XmlSnapshot</tt>.  This approach ensures that the domain objects do not 
+ * have any coupling to the framework.
+ */
+package org.apache.isis.applib.snapshot;
\ No newline at end of file

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/spec/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/spec/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/spec/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/spec/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,39 @@
+/*
+ *  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.
+ */
+
+/**
+ * This package defines a {@link org.apache.isis.applib.spec.Specification}
+ * interface (and various implementations), used by the
+ * {@link org.apache.isis.applib.annotation.MustSatisfy} annotation to
+ * declare valid values for properties or parameters.
+ * 
+ * <p>
+ * This is an implementation of the DDD &quot;Specification&quot;, allowing
+ * validatation that might otherwise be repeated for both properties and
+ * parameters (in the <tt>validateXxx()</tt> methods to be factored out.
+ * 
+ * <p>
+ * That said, there is still some repetition in that the {@link org.apache.isis.applib.annotation.MustSatisfy}
+ * annotation must be applied in all appropriate cases.  If it is the case that
+ * the validation rules would apply <i>every</i> case, then it is generally 
+ * preferable to implement a {@link org.apache.isis.applib.annotation.Value} type
+ * through the {@link org.apache.isis.applib.adapters.ValueSemanticsProvider}
+ * interface. 
+ */
+package org.apache.isis.applib.spec;
\ No newline at end of file

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,40 @@
+/*
+ *  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.
+ */
+
+/**
+ * This package defines a small number of utility classes for
+ * generating {@link org.apache.isis.applib.util.TitleBuffer title}s for 
+ * domain objects and for generating
+ * {@link org.apache.isis.applib.util.ReasonBuffer reason}s (why a 
+ * class member is disabled or a proposed value invalid).
+ * 
+ * <p>
+ * This is an implementation of the DDD &quot;Specification&quot;, allowing
+ * validatation that might otherwise be repeated for both properties and
+ * parameters (in the <tt>validateXxx()</tt> methods to be factored out.
+ * 
+ * <p>
+ * That said, there is still some repetition in that the {@link org.apache.isis.applib.annotation.MustSatisfy}
+ * annotation must be applied in all appropriate cases.  If it is the case that
+ * the validation rules would apply <i>every</i> case, then it is generally 
+ * preferable to implement a {@link org.apache.isis.applib.annotation.Value} type
+ * through the {@link org.apache.isis.applib.adapters.ValueSemanticsProvider}
+ * interface. 
+ */
+package org.apache.isis.applib.util;
\ No newline at end of file

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/package-info.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,31 @@
+/*
+ *  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.
+ */
+
+/**
+ * This package defines an additional set of 
+ * {@link org.apache.isis.applib.annotation.Value} types, supported in addition
+ * to the usual JDK ones (of {@link java.lang.String}, {@link java.lang.Integer}, {@link java.math.BigDecimal}, {@link java.util.Date}
+ * etc and the primitives).
+ * 
+ * <p>
+ * Each of these value types has a corresponding implementation of 
+ * {@link org.apache.isis.applib.adapters.ValueSemanticsProvider} (implemented
+ * within the <tt>core.progmodel</tt> module).   
+ */
+package org.apache.isis.applib.value;
\ No newline at end of file

Modified: incubator/isis/trunk/core/commons/core-commons.java.hsp
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/core-commons.java.hsp?rev=1056832&r1=1056831&r2=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/commons/core-commons.java.hsp (original)
+++ incubator/isis/trunk/core/commons/core-commons.java.hsp Sat Jan  8 22:53:36 2011
@@ -4,10 +4,57 @@
    <property name="show-needs-to-compile" value="false" />
    <property name="detail-mode" value="false" />
    <classpath>
-      <classpathentry kind="lib" path="target/classes" />
+      <classpathentry kind="lib" path="D:\SVN\ai\isis\trunk\core\commons\target\classes" />
    </classpath>
    <sourcepaths>
       <pathentry type="file" path="src/main/java" />
    </sourcepaths>
+   <grid-set sep="." version="3.3.722">
+      <grid name="Diagram 1" enforce="true" strict="false">
+         <row>
+            <cell name="config" pattern="org.apache.isis.core.commons.config.*" vexpanded="true" visibility="public" />
+            <cell name="authentication" pattern="org.apache.isis.core.commons.authentication.?" vexpanded="true" visibility="public" />
+            <cell name="xml" pattern="org.apache.isis.core.commons.xml.?" vexpanded="true" visibility="public" />
+         </row>
+         <row>
+            <cell name="matchers" pattern="org.apache.isis.core.commons.matchers.?" vexpanded="true" visibility="public" />
+            <cell name="factory" pattern="org.apache.isis.core.commons.factory.?" vexpanded="true" visibility="public" />
+         </row>
+         <row>
+            <cell name="ensure" pattern="org.apache.isis.core.commons.ensure.?" vexpanded="true" visibility="public" />
+         </row>
+         <row>
+            <cell name="exceptions" pattern="org.apache.isis.core.commons.exceptions.?" vexpanded="true" visibility="public" />
+            <cell name="resource" pattern="org.apache.isis.core.commons.resource.?" vexpanded="true" visibility="public" />
+            <cell name="components" pattern="org.apache.isis.core.commons.components.?" vexpanded="true" visibility="public" />
+            <cell name="encoding" pattern="org.apache.isis.core.commons.encoding.?" vexpanded="true" visibility="public" />
+            <cell name="lang" pattern="org.apache.isis.core.commons.lang.?" vexpanded="true" visibility="public" />
+            <cell name="debug" pattern="org.apache.isis.core.commons.debug.?" vexpanded="true" visibility="public" />
+            <cell name="futures" pattern="org.apache.isis.core.commons.futures.?" vexpanded="true" visibility="public" />
+         </row>
+      </grid>
+      <grid name="Diagram 2" enforce="true" strict="false">
+         <row>
+            <cell name="factory" pattern="org.apache.isis.core.commons.factory.?" vexpanded="true" visibility="public" />
+            <cell name="io" pattern="org.apache.isis.core.commons.io.?" vexpanded="true" visibility="public" />
+         </row>
+         <row>
+            <cell name="ensure" pattern="org.apache.isis.core.commons.ensure.?" vexpanded="true" visibility="public" />
+            <cell name="xml" pattern="org.apache.isis.core.commons.xml.?" vexpanded="true" visibility="public" />
+            <cell name="authentication" pattern="org.apache.isis.core.commons.authentication.?" vexpanded="true" visibility="public" />
+            <cell name="config" pattern="org.apache.isis.core.commons.config.?" vexpanded="true" visibility="public" />
+            <cell name="matchers" pattern="org.apache.isis.core.commons.matchers.?" vexpanded="true" visibility="public" />
+         </row>
+         <row>
+            <cell name="exceptions" pattern="org.apache.isis.core.commons.exceptions.?" vexpanded="true" visibility="public" />
+            <cell name="debug" pattern="org.apache.isis.core.commons.debug.?" vexpanded="true" visibility="public" />
+            <cell name="resource" pattern="org.apache.isis.core.commons.resource.?" vexpanded="true" visibility="public" />
+            <cell name="components" pattern="org.apache.isis.core.commons.components.?" vexpanded="true" visibility="public" />
+            <cell name="encoding" pattern="org.apache.isis.core.commons.encoding.?" vexpanded="true" visibility="public" />
+            <cell name="lang" pattern="org.apache.isis.core.commons.lang.?" vexpanded="true" visibility="public" />
+            <cell name="futures" pattern="org.apache.isis.core.commons.futures.?" vexpanded="true" visibility="public" />
+         </row>
+      </grid>
+   </grid-set>
 </local-project>
 

Modified: incubator/isis/trunk/core/commons/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/pom.xml?rev=1056832&r1=1056831&r2=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/commons/pom.xml (original)
+++ incubator/isis/trunk/core/commons/pom.xml Sat Jan  8 22:53:36 2011
@@ -59,6 +59,11 @@
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.isis</groupId>
+            <artifactId>applib</artifactId>
+        </dependency>
+
 		<dependency>
 			<groupId>com.google.inject</groupId>
 			<artifactId>guice</artifactId>

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSession.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSession.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSession.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSession.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSession.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSession.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSession.java Sat Jan  8 22:53:36 2011
@@ -18,11 +18,11 @@
  */
 
 
-package org.apache.isis.core.metamodel.authentication;
+package org.apache.isis.core.commons.authentication;
 
 import java.util.List;
 
-import org.apache.isis.core.metamodel.encoding.Encodable;
+import org.apache.isis.core.commons.encoding.Encodable;
 
 
 /**

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionAbstract.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionAbstract.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionAbstract.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.authentication;
+package org.apache.isis.core.commons.authentication;
 
 import java.io.IOException;
 import java.io.Serializable;
@@ -29,9 +29,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.isis.core.commons.encoding.DataInputExtended;
+import org.apache.isis.core.commons.encoding.DataOutputExtended;
 import org.apache.isis.core.commons.lang.ToString;
-import org.apache.isis.core.metamodel.encoding.DataInputExtended;
-import org.apache.isis.core.metamodel.encoding.DataOutputExtended;
 
 public abstract class AuthenticationSessionAbstract implements AuthenticationSession, Serializable {
 

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProvider.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProvider.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProvider.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java Sat Jan  8 22:53:36 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.core.metamodel.authentication;
+package org.apache.isis.core.commons.authentication;
 
 import org.apache.isis.core.commons.components.Injectable;
 

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProviderAbstract.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProviderAbstract.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProviderAbstract.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java Sat Jan  8 22:53:36 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.core.metamodel.authentication;
+package org.apache.isis.core.commons.authentication;
 
 
 public abstract class AuthenticationSessionProviderAbstract implements AuthenticationSessionProvider {

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProviderAware.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProviderAware.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/authentication/AuthenticationSessionProviderAware.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.authentication;
+package org.apache.isis.core.commons.authentication;
 
 public interface AuthenticationSessionProviderAware {
 	

Added: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/package-info.java (added)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/authentication/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,30 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/**
+ * Defines the {@link org.apache.isis.core.commons.authentication.AuthenticationSession} 
+ * interface that represent a user's session identifier once they have logged on.
+ * 
+ * <p>
+ * The {@link org.apache.isis.core.commons.authentication.AuthenticationSession}
+ * broadly corresponds to the <tt>UserMemento</tt> and <tt>RoleMemento</tt>
+ * that are defined in the applib.  An {@link org.apache.isis.core.commons.authentication.AuthenticationSession} 
+ * is required in order to interact with the rest of the framework.
+ */
+package org.apache.isis.core.commons.authentication;
\ No newline at end of file

Modified: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/Noop.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/Noop.java?rev=1056832&r1=1056831&r2=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/Noop.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/Noop.java Sat Jan  8 22:53:36 2011
@@ -24,8 +24,9 @@ package org.apache.isis.core.commons.com
  * Marker interface for components that are no-ops.
  * 
  * <p>
- * Originally introduced for Spring bootstrapping; allows us to
- * specify a no-op in Spring configuration files which will be
+ * Originally introduced in order to support bootstrapping by
+ * dependency injection frameworks; allows us to
+ * specify a no-op in the configuration files which will be
  * ignored.
  */
 public interface Noop {

Added: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/package-info.java (added)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/components/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,43 @@
+/*
+ *  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.
+ */
+
+/**
+ * Defines a {@link org.apache.isis.core.commons.components.Component}
+ * architecture, along with factories (called {@link org.apache.isis.core.commons.components.Installer}s)
+ * to install (or create) those components.
+ * 
+ * <p>
+ * There are three subinterfaces of 
+ * {@link org.apache.isis.core.commons.components.Component}, for three different
+ * scopes:
+ * <ul>
+ * <li><p> {@link org.apache.isis.core.commons.components.ApplicationScopedComponent application-scoped} </p></li>
+ * <li><p> {@link org.apache.isis.core.commons.components.SessionScopedComponent session-scoped} </p></li>
+ * <li><p> {@link org.apache.isis.core.commons.components.TransactionScopedComponent transaction-scoped} </p></li>
+ * </ul>
+ * 
+ * <p>
+ * Many {@link org.apache.isis.core.commons.components.Component}s may also be
+ * {@link org.apache.isis.core.commons.components.Injectable}, meaning that
+ * they know hot to inject themselves to a candidate object &quot;if appropriate&quot;.
+ * The convention adopted in most cases is for an object requiring injection of
+ * component <tt>Xxx</tt> to implement an <tt>XxxAware</tt> interface that
+ * defines a <tt>setXxx(Xxx)</tt> method.
+ */
+package org.apache.isis.core.commons.components;
\ No newline at end of file

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/ConfigurationConstants.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationConstants.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/ConfigurationConstants.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/ConfigurationConstants.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationConstants.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationConstants.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/ConfigurationConstants.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 public final class ConfigurationConstants {
 

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 import java.util.Collections;
 import java.util.List;
@@ -30,12 +30,12 @@ import com.google.inject.util.Modules;
 import org.apache.isis.core.commons.components.Installer;
 
 public abstract class InstallerAbstract implements Installer,
-		ConfigurationBuilderAware {
+		IsisConfigurationBuilderAware {
 
 	private final String type;
 	private final String name;
 	
-	private ConfigurationBuilder configurationBuilder;
+	private IsisConfigurationBuilder isisConfigurationBuilder;
 	private IsisConfiguration configuration;
 
 	/**
@@ -121,26 +121,26 @@ public abstract class InstallerAbstract 
 	 */
 	@Override
     public void setConfigurationBuilder(
-			ConfigurationBuilder configurationBuilder) {
+			IsisConfigurationBuilder isisConfigurationBuilder) {
 		if (configuration != null) {
 			throw new IllegalStateException(
 					"A IsisConfiguration has already been provided.");
 		}
-		this.configurationBuilder = configurationBuilder;
+		this.isisConfigurationBuilder = isisConfigurationBuilder;
 	}
 
 	/**
 	 * Either this method or
-	 * {@link #setConfigurationBuilder(ConfigurationBuilder)} should be called
+	 * {@link #setConfigurationBuilder(IsisConfigurationBuilder)} should be called
 	 * prior to calling {@link #getConfiguration()}.
 	 * 
 	 * <p>
-	 * If a {@link #setConfigurationBuilder(ConfigurationBuilder) configuration
+	 * If a {@link #setConfigurationBuilder(IsisConfigurationBuilder) configuration
 	 * builder} has already been provided, then throws
 	 * {@link IllegalStateException}.
 	 */
 	public void setConfiguration(IsisConfiguration configuration) {
-		if (configurationBuilder != null) {
+		if (isisConfigurationBuilder != null) {
 			throw new IllegalStateException(
 					"A IsisConfiguration has already been provided.");
 		}
@@ -149,16 +149,16 @@ public abstract class InstallerAbstract 
 
 	/**
 	 * Returns a <i>snapshot</i> of the current configuration provided by the
-	 * {@link #setConfigurationBuilder(ConfigurationBuilder) injected}
-	 * {@link ConfigurationBuilder}.
+	 * {@link #setConfigurationBuilder(IsisConfigurationBuilder) injected}
+	 * {@link IsisConfigurationBuilder}.
 	 * 
 	 * <p>
 	 * Implementation note: the implementation is in fact just
 	 * {@link InstallerLookupDefault}.
 	 */
 	public IsisConfiguration getConfiguration() {
-		if (configurationBuilder != null) {
-			return configurationBuilder.getConfiguration();
+		if (isisConfigurationBuilder != null) {
+			return isisConfigurationBuilder.getConfiguration();
 		} else if (configuration != null) {
 			return configuration;
 		} else {

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/IsisConfiguration.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/IsisConfiguration.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/IsisConfiguration.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java Sat Jan  8 22:53:36 2011
@@ -18,40 +18,31 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 import java.awt.Color;
 import java.awt.Font;
-import java.util.Enumeration;
+import java.util.Iterator;
 
 import org.apache.isis.core.commons.components.Injectable;
-import org.apache.isis.core.commons.debug.DebugInfo;
+import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
 
 
 /**
- * (Mostly!) immutable set of properties representing the configuration of the running system.
+ * Immutable set of properties representing the configuration of the running system.
  *
  * <p>
  * The {@link IsisConfiguration} is one part of a mutable/immutable pair pattern
  * (cf {@link String} and {@link StringBuilder}).  What this means is, as components are 
  * loaded they can discover their own configuration resources.  These are added
- * to {@link ConfigurationBuilder}.
+ * to {@link IsisConfigurationBuilder}.
  * 
  * <p>
  * Thus the {@link IsisConfiguration} held by different components may vary,
  * but with each being a possible superset of the previous.
- * 
- * <p>
- * TODO: we should make this strictly immutable by removing the {@link #add(String, String)} method.
  */
-public interface IsisConfiguration extends DebugInfo, Injectable {
-
-    /**
-     * Adds a name-value pair to the list of properties. If the named property already exists then the
-     * specified value replaces the existing one.
-     */
-    void add(String name, String value);
+public interface IsisConfiguration extends DebuggableWithTitle, Injectable, Iterable<String> {
 
     /**
      * Creates a new IsisConfiguration containing the properties starting with the specified prefix.
@@ -172,20 +163,20 @@ public interface IsisConfiguration exten
     boolean hasProperty(String name);
 
     boolean isEmpty();
-
-    Enumeration<String> propertyNames();
+
+    /**
+     * Iterates over the property names of this configuration.
+     */
+    @Override
+    Iterator<String> iterator();
 
     int size();
 
 	/**
 	 * The {@link ResourceStreamSource} that was used to build this configuration.
 	 * 
-	 * <p>
-	 * This replaces the old <tt>rootPath()</tt> method.
-	 * 
-	 * @see ConfigurationBuilder#getResourceStreamSource()
+	 * @see IsisConfigurationBuilder#getResourceStreamSource()
 	 */
 	ResourceStreamSource getResourceStreamSource();
-	
 
 }

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationAware.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/IsisConfigurationAware.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationAware.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationAware.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/IsisConfigurationAware.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/IsisConfigurationAware.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationAware.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 
 /**

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilder.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilder.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 import java.util.Properties;
 
@@ -36,7 +36,7 @@ import org.apache.isis.core.commons.reso
  * @see IsisConfiguration for more details on the mutable/immutable pair
  *      pattern.
  */
-public interface ConfigurationBuilder extends Injectable {
+public interface IsisConfigurationBuilder extends Injectable {
 
 	/**
 	 * Returns a currently known {@link IsisConfiguration}.

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderAware.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderAware.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderAware.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java Sat Jan  8 22:53:36 2011
@@ -18,9 +18,9 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
-public interface ConfigurationBuilderAware {
+public interface IsisConfigurationBuilderAware {
 
-	void setConfigurationBuilder(ConfigurationBuilder configurationLoader);
+	void setConfigurationBuilder(IsisConfigurationBuilder configurationLoader);
 }

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderDefault.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderDefault.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderDefault.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 import org.apache.log4j.Logger;
 
@@ -26,19 +26,19 @@ import org.apache.isis.core.commons.reso
 import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
 
 /**
- * Convenience implementation of {@link ConfigurationBuilder} that
- * loads configuration resource as per {@link ConfigurationBuilderFileSystem}
+ * Convenience implementation of {@link IsisConfigurationBuilder} that
+ * loads configuration resource as per {@link IsisConfigurationBuilderFileSystem}
  * and otherwise from the {@link ResourceStreamSourceContextLoaderClassPath classpath}.
  * 
  * @see ResourceStreamSourceFileSystem
  */
-public class ConfigurationBuilderDefault extends ConfigurationBuilderResourceStreams {
+public class IsisConfigurationBuilderDefault extends IsisConfigurationBuilderResourceStreams {
 
 	@SuppressWarnings("unused")
 	private static final Logger LOG = Logger
-			.getLogger(ConfigurationBuilderDefault.class);
+			.getLogger(IsisConfigurationBuilderDefault.class);
 	
-	public ConfigurationBuilderDefault() {
+	public IsisConfigurationBuilderDefault() {
 		super(
 				new ResourceStreamSourceFileSystem(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY),
 				new ResourceStreamSourceFileSystem(ConfigurationConstants.WEBINF_CONFIG_DIRECTORY),

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderFileSystem.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderFileSystem.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderFileSystem.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java Sat Jan  8 22:53:36 2011
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 import org.apache.log4j.Logger;
 
@@ -26,15 +26,15 @@ import org.apache.isis.core.commons.reso
 import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
 
 /**
- * Convenience implementation of {@link ConfigurationBuilder} that loads configuration resource from a specified
+ * Convenience implementation of {@link IsisConfigurationBuilder} that loads configuration resource from a specified
  * directory (or directories) on the filesystem.
  * 
  * @see ResourceStreamSourceFileSystem
  */
-public class ConfigurationBuilderFileSystem extends ConfigurationBuilderResourceStreams {
+public class IsisConfigurationBuilderFileSystem extends IsisConfigurationBuilderResourceStreams {
 
     @SuppressWarnings("unused")
-    private static final Logger LOG = Logger.getLogger(ConfigurationBuilderFileSystem.class);
+    private static final Logger LOG = Logger.getLogger(IsisConfigurationBuilderFileSystem.class);
 
     private static ResourceStreamSource createResourceStreamSource(String... directories) {
         ResourceStreamSourceComposite composite = new ResourceStreamSourceComposite();
@@ -44,11 +44,11 @@ public class ConfigurationBuilderFileSys
         return composite;
     }
 
-    public ConfigurationBuilderFileSystem(String... directories) {
+    public IsisConfigurationBuilderFileSystem(String... directories) {
         super(createResourceStreamSource(directories));
     }
 
-    public ConfigurationBuilderFileSystem() {
+    public IsisConfigurationBuilderFileSystem() {
         super(new ResourceStreamSourceFileSystem(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY));
     }
 

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationPrimer.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationPrimer.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationPrimer.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java Sat Jan  8 22:53:36 2011
@@ -18,12 +18,12 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 
-public interface ConfigurationPrimer {
+public interface IsisConfigurationBuilderPrimer {
 
 	void primeConfigurationBuilder(
-			ConfigurationBuilder configurationBuilder);
+			IsisConfigurationBuilder isisConfigurationBuilder);
 
 }
\ No newline at end of file

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderResourceStreams.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderResourceStreams.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationBuilderResourceStreams.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java Sat Jan  8 22:53:36 2011
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -33,19 +33,17 @@ import org.apache.isis.core.commons.exce
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
 import org.apache.isis.core.commons.resource.ResourceStreamSourceComposite;
 import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
-import org.apache.isis.core.metamodel.config.internal.PropertiesConfiguration;
-import org.apache.isis.core.metamodel.config.internal.PropertiesReader;
 
 /**
- * Adapter for {@link ConfigurationBuilder}, loading the specified configuration resource (file) from the given
+ * Adapter for {@link IsisConfigurationBuilder}, loading the specified configuration resource (file) from the given
  * {@link ResourceStreamSource}(s).
  * 
  * <p>
  * If a property is in multiple configuration resources then the latter resources will overwrite the former.
  */
-public class ConfigurationBuilderResourceStreams implements ConfigurationBuilder {
+public class IsisConfigurationBuilderResourceStreams implements IsisConfigurationBuilder {
 
-    private static final Logger LOG = Logger.getLogger(ConfigurationBuilderResourceStreams.class);
+    private static final Logger LOG = Logger.getLogger(IsisConfigurationBuilderResourceStreams.class);
 
     static class ConfigurationResourceAndPolicy {
         private final String configurationResource;
@@ -89,16 +87,16 @@ public class ConfigurationBuilderResourc
     // Constructor, initialization
     // ////////////////////////////////////////////////////////////
 
-    public ConfigurationBuilderResourceStreams() {
+    public IsisConfigurationBuilderResourceStreams() {
         this(new ResourceStreamSourceFileSystem(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY));
     }
 
-    public ConfigurationBuilderResourceStreams(final ResourceStreamSource resourceStreamSource) {
+    public IsisConfigurationBuilderResourceStreams(final ResourceStreamSource resourceStreamSource) {
         this.resourceStreamSource = resourceStreamSource;
         addDefaultConfigurationResources();
     }
 
-    public ConfigurationBuilderResourceStreams(final ResourceStreamSource... resourceStreamSources) {
+    public IsisConfigurationBuilderResourceStreams(final ResourceStreamSource... resourceStreamSources) {
         ResourceStreamSourceComposite composite = new ResourceStreamSourceComposite();
         for (ResourceStreamSource rss : resourceStreamSources) {
             composite.addResourceStreamSource(rss);
@@ -192,7 +190,7 @@ public class ConfigurationBuilderResourc
             return cachedConfiguration;
         }
 
-        final PropertiesConfiguration configuration = new PropertiesConfiguration(getResourceStreamSource());
+        final IsisConfigurationDefault configuration = new IsisConfigurationDefault(getResourceStreamSource());
         loadConfigurationResources(configuration);
         // TODO: this hack should move elsewhere, where the DeploymentType is
         // known.
@@ -202,13 +200,13 @@ public class ConfigurationBuilderResourc
         return cachedConfiguration = configuration;
     }
 
-    private void loadConfigurationResources(PropertiesConfiguration configuration) {
+    private void loadConfigurationResources(IsisConfigurationDefault configuration) {
         for (ConfigurationResourceAndPolicy configResourceAndPolicy : configurationResources) {
             loadConfigurationResource(configuration, configResourceAndPolicy);
         }
     }
 
-    private void loadConfigurationResource(PropertiesConfiguration configuration,
+    private void loadConfigurationResource(IsisConfigurationDefault configuration,
         ConfigurationResourceAndPolicy configResourceAndPolicy) {
         String configurationResource = configResourceAndPolicy.getConfigurationResource();
         NotFoundPolicy notFoundPolicy = configResourceAndPolicy.getNotFoundPolicy();
@@ -227,7 +225,7 @@ public class ConfigurationBuilderResourc
      * If the configuration resource cannot be found then the provided {@link NotFoundPolicy} determines whether an
      * exception is thrown or not.
      */
-    protected void loadConfigurationResource(final PropertiesConfiguration configuration,
+    protected void loadConfigurationResource(final IsisConfigurationDefault configuration,
         final String configurationResource, final NotFoundPolicy notFoundPolicy) {
         try {
             PropertiesReader propertiesReader = loadConfigurationResource(resourceStreamSource, configurationResource);
@@ -254,23 +252,23 @@ public class ConfigurationBuilderResourc
         return new PropertiesReader(resourceStreamSource, configurationResource);
     }
 
-    private void addShowExplorationOptionsIfNotSpecified(PropertiesConfiguration configuration) {
+    private void addShowExplorationOptionsIfNotSpecified(IsisConfigurationDefault configuration) {
         if (configuration.getString(ConfigurationConstants.SHOW_EXPLORATION_OPTIONS) == null) {
             configuration.add(ConfigurationConstants.SHOW_EXPLORATION_OPTIONS, "yes");
         }
     }
 
-    private void addSystemPropertiesIfRequested(PropertiesConfiguration configuration) {
+    private void addSystemPropertiesIfRequested(IsisConfigurationDefault configuration) {
         if (includeSystemProperties) {
             addProperties(configuration, System.getProperties());
         }
     }
 
-    private void addAdditionalProperties(PropertiesConfiguration configuration) {
+    private void addAdditionalProperties(IsisConfigurationDefault configuration) {
         addProperties(configuration, additionalProperties);
     }
 
-    protected void addProperties(PropertiesConfiguration configuration, Properties properties) {
+    protected void addProperties(IsisConfigurationDefault configuration, Properties properties) {
         configuration.add(properties);
     }
 
@@ -284,8 +282,8 @@ public class ConfigurationBuilderResourc
 
     @Override
     public void injectInto(Object candidate) {
-        if (ConfigurationBuilderAware.class.isAssignableFrom(candidate.getClass())) {
-            ConfigurationBuilderAware cast = ConfigurationBuilderAware.class.cast(candidate);
+        if (IsisConfigurationBuilderAware.class.isAssignableFrom(candidate.getClass())) {
+            IsisConfigurationBuilderAware cast = IsisConfigurationBuilderAware.class.cast(candidate);
             cast.setConfigurationBuilder(this);
         }
     }

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/internal/PropertiesConfiguration.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/internal/PropertiesConfiguration.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/internal/PropertiesConfiguration.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java Sat Jan  8 22:53:36 2011
@@ -18,11 +18,12 @@
  */
 
 
-package org.apache.isis.core.metamodel.config.internal;
+package org.apache.isis.core.commons.config;
 
 import java.awt.Color;
 import java.awt.Font;
 import java.util.Enumeration;
+import java.util.Iterator;
 import java.util.Properties;
 import java.util.StringTokenizer;
 
@@ -31,14 +32,10 @@ import org.apache.log4j.Logger;
 import org.apache.isis.core.commons.debug.DebugString;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.metamodel.config.ConfigurationConstants;
-import org.apache.isis.core.metamodel.config.ConfigurationException;
-import org.apache.isis.core.metamodel.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.config.IsisConfigurationAware;
 
 
-public class PropertiesConfiguration implements IsisConfiguration {
-    private static final Logger LOG = Logger.getLogger(PropertiesConfiguration.class);
+public class IsisConfigurationDefault implements IsisConfiguration {
+    private static final Logger LOG = Logger.getLogger(IsisConfigurationDefault.class);
     private final Properties p = new Properties();
 	private final ResourceStreamSource resourceStreamSource;
     
@@ -46,11 +43,11 @@ public class PropertiesConfiguration imp
     // Constructor
     //////////////////////////////////////////////////
 
-    public PropertiesConfiguration() {
+    public IsisConfigurationDefault() {
         this(null);
     }
 
-    public PropertiesConfiguration(ResourceStreamSource resourceStreamSource) {
+    public IsisConfigurationDefault(ResourceStreamSource resourceStreamSource) {
         this.resourceStreamSource = resourceStreamSource;
         LOG.info("from :" + nameOf(resourceStreamSource));
     }
@@ -65,7 +62,8 @@ public class PropertiesConfiguration imp
     //////////////////////////////////////////////////
     
     
-	public ResourceStreamSource getResourceStreamSource() {
+	@Override
+    public ResourceStreamSource getResourceStreamSource() {
 		return resourceStreamSource;
 	}
 
@@ -98,8 +96,9 @@ public class PropertiesConfiguration imp
         p.put(key, value);
     }
 
+    @Override
     public IsisConfiguration createSubset(final String prefix) {
-        final PropertiesConfiguration subset = new PropertiesConfiguration(resourceStreamSource);
+        final IsisConfigurationDefault subset = new IsisConfigurationDefault(resourceStreamSource);
 
         String startsWith = prefix;
         if (!startsWith.endsWith(".")) {
@@ -130,6 +129,7 @@ public class PropertiesConfiguration imp
      * @param name
      *            the property name
      */
+    @Override
     public boolean getBoolean(final String name) {
         return getBoolean(name, false);
     }
@@ -143,6 +143,7 @@ public class PropertiesConfiguration imp
      * @param defaultValue
      *            the value to use as a default
      */
+    @Override
     public boolean getBoolean(final String name, final boolean defaultValue) {
         String value = getProperty(name);
         if (value == null) {
@@ -156,7 +157,7 @@ public class PropertiesConfiguration imp
             return false;
         }
 
-        throw new ConfigurationException("Illegal flag for " + name + "; must be one of on, off, yes, no, true or false");
+        throw new IsisConfigurationException("Illegal flag for " + name + "; must be one of on, off, yes, no, true or false");
     }
 
     /**
@@ -166,6 +167,7 @@ public class PropertiesConfiguration imp
      * @param name
      *            the property name
      */
+    @Override
     public Color getColor(final String name) {
         return getColor(name, null);
     }
@@ -179,6 +181,7 @@ public class PropertiesConfiguration imp
      * @param defaultValue
      *            the value to use as a default
      */
+    @Override
     public Color getColor(final String name, final Color defaultValue) {
         final String color = getProperty(name);
 
@@ -189,6 +192,7 @@ public class PropertiesConfiguration imp
         return Color.decode(color);
     }
 
+    @Override
     public void debugData(final DebugString str) {
         final Enumeration names = p.propertyNames();
         while (names.hasMoreElements()) {
@@ -199,6 +203,7 @@ public class PropertiesConfiguration imp
         }
     }
 
+    @Override
     public String debugTitle() {
         return "Properties Configuration";
     }
@@ -210,6 +215,7 @@ public class PropertiesConfiguration imp
      * @param name
      *            the property name
      */
+    @Override
     public Font getFont(final String name) {
         return getFont(name, null);
     }
@@ -223,6 +229,7 @@ public class PropertiesConfiguration imp
      * @param defaultValue
      *            the color to use as a default
      */
+    @Override
     public Font getFont(final String name, final Font defaultValue) {
         final String font = getProperty(name);
 
@@ -240,6 +247,7 @@ public class PropertiesConfiguration imp
      * @param name
      *            the property name
      */
+    @Override
     public int getInteger(final String name) {
         return getInteger(name, 0);
     }
@@ -253,6 +261,7 @@ public class PropertiesConfiguration imp
      * @param defaultValue
      *            the value to use as a default
      */
+    @Override
     public int getInteger(final String name, final int defaultValue) {
         final String value = getProperty(name);
 
@@ -263,6 +272,7 @@ public class PropertiesConfiguration imp
         return Integer.valueOf(value).intValue();
     }
 
+    @Override
     public String[] getList(final String name) {
         final String list = getString(name);
         if (list == null) {
@@ -278,6 +288,7 @@ public class PropertiesConfiguration imp
         }
     }
 
+    @Override
     public IsisConfiguration getProperties(final String withPrefix) {
         final int prefixLength = "".length();
 
@@ -290,9 +301,9 @@ public class PropertiesConfiguration imp
                 pp.put(modifiedKey, p.get(key));
             }
         }
-        final PropertiesConfiguration propertiesConfiguration = new PropertiesConfiguration(resourceStreamSource);
-        propertiesConfiguration.add(pp);
-        return propertiesConfiguration;
+        final IsisConfigurationDefault isisConfigurationDefault = new IsisConfigurationDefault(resourceStreamSource);
+        isisConfigurationDefault.add(pp);
+        return isisConfigurationDefault;
     }
 
     private String getProperty(final String name) {
@@ -314,35 +325,30 @@ public class PropertiesConfiguration imp
      * Returns the configuration property with the specified name. If there is no matching property then null
      * is returned.
      */
+    @Override
     public String getString(final String name) {
         return getProperty(name);
     }
 
+    @Override
     public String getString(final String name, final String defaultValue) {
         return getProperty(name, defaultValue);
     }
 
+    @Override
     public boolean hasProperty(final String name) {
         final String key = referedToAs(name);
         return p.containsKey(key);
     }
 
+    @Override
     public boolean isEmpty() {
         return p.isEmpty();
     }
 
-    public Enumeration<String> propertyNames() {
-        final Enumeration<Object> keys = p.keys();
-    	return new Enumeration<String>() {
-
-			public boolean hasMoreElements() {
-				return keys.hasMoreElements();
-			}
-
-			public String nextElement() {
-				return (String) keys.nextElement();
-			}
-    	};
+    @Override
+    public Iterator<String> iterator() {
+        return p.stringPropertyNames().iterator();
     }
 
     /**
@@ -353,6 +359,7 @@ public class PropertiesConfiguration imp
         return name;
     }
 
+    @Override
     public int size() {
         return p.size();
     }
@@ -367,6 +374,7 @@ public class PropertiesConfiguration imp
     // injectInto
     // ////////////////////////////////////////////////////////////////////
 
+    @Override
     public void injectInto(Object candidate) {
         if (IsisConfigurationAware.class.isAssignableFrom(candidate.getClass())) {
             IsisConfigurationAware cast = IsisConfigurationAware.class.cast(candidate);

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationException.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationException.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationException.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationException.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationException.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/ConfigurationException.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationException.java Sat Jan  8 22:53:36 2011
@@ -18,27 +18,27 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 import org.apache.isis.core.commons.exceptions.IsisException;
 
 
-public class ConfigurationException extends IsisException {
+public class IsisConfigurationException extends IsisException {
     private static final long serialVersionUID = 1L;
 
-    public ConfigurationException() {
+    public IsisConfigurationException() {
         super();
     }
 
-    public ConfigurationException(final String s) {
+    public IsisConfigurationException(final String s) {
         super(s);
     }
 
-    public ConfigurationException(final String msg, final Throwable cause) {
+    public IsisConfigurationException(final String msg, final Throwable cause) {
         super(msg, cause);
     }
 
-    public ConfigurationException(final Throwable cause) {
+    public IsisConfigurationException(final Throwable cause) {
         super(cause);
     }
 }

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/NotFoundPolicy.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/NotFoundPolicy.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/NotFoundPolicy.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/NotFoundPolicy.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/NotFoundPolicy.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/NotFoundPolicy.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/NotFoundPolicy.java Sat Jan  8 22:53:36 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.config;
+package org.apache.isis.core.commons.config;
 
 public enum NotFoundPolicy {
 	CONTINUE,

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java (from r1056120, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/internal/PropertiesReader.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/internal/PropertiesReader.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/internal/PropertiesReader.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java Sat Jan  8 22:53:36 2011
@@ -18,20 +18,20 @@
  */
 
 
-package org.apache.isis.core.metamodel.config.internal;
+package org.apache.isis.core.commons.config;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
 
-import org.apache.isis.core.commons.io.IoUtils;
+import org.apache.isis.core.commons.lang.IoUtils;
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
 
 
 /**
- * This class loads properties using the specified {@link ResourceStreamSource}.
+ * Loads properties using the specified {@link ResourceStreamSource}.
  */
-public class PropertiesReader {
+class PropertiesReader {
 
     private final Properties properties = new Properties();
 

Added: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/package-info.java?rev=1056832&view=auto
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/package-info.java (added)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/config/package-info.java Sat Jan  8 22:53:36 2011
@@ -0,0 +1,40 @@
+/*
+ *  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.
+ */
+
+/**
+ * Defines the {@link org.apache.isis.core.commons.config.IsisConfiguration}
+ * which collects an immutable set of configuration options (like a hashmap), 
+ * along with a number of supporting classes.
+ * 
+ * <p>
+ * Chief among these supporting classes is {@link org.apache.isis.core.commons.config.ConfigurationBuilder},
+ * which holds a (mutable) collection of properties and is used to build an 
+ * {@link org.apache.isis.core.commons.config.IsisConfiguration}.  The 
+ * {@link org.apache.isis.core.commons.config.ConfigurationBuilder} and
+ * {@link org.apache.isis.core.commons.config.IsisConfiguration} types form
+ * an mutable/immutable pair (cf {@link java.lang.StringBuilder} / {@link java.lang.String}).
+ * 
+ * <p>
+ * The {@link org.apache.isis.core.commons.config.ConfigurationBuilder} is used
+ * by {@link org.apache.isis.core.commons.config.InstallerAbstract}, an
+ * implementation of {@link org.apache.isis.core.commons.components.Installer} 
+ * that allows the configuration to be added to as each component is
+ * installed. 
+ */
+package org.apache.isis.core.commons.config;
\ No newline at end of file

Modified: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugString.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugString.java?rev=1056832&r1=1056831&r2=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugString.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugString.java Sat Jan  8 22:53:36 2011
@@ -25,6 +25,7 @@ import java.io.PrintStream;
 
 
 public class DebugString {
+    
     private static final int COLUMN_SPACING = 25;
     private static final int INDENT_WIDTH = 3;
     private static final String LINE;
@@ -58,10 +59,10 @@ public class DebugString {
      * Append the specified object by calling it <code>toString()</code> method.
      */
     public void append(final Object object) {
-        if (object instanceof DebugInfo) {
+        if (object instanceof DebuggableWithTitle) {
             indent();
-            appendTitle(((DebugInfo) object).debugTitle());
-            ((DebugInfo) object).debugData(this);
+            appendTitle(((DebuggableWithTitle) object).debugTitle());
+            ((DebuggableWithTitle) object).debugData(this);
             unindent();
         } else {
             appendIndent();
@@ -181,12 +182,9 @@ public class DebugString {
     public void appendTitle(final String title) {
         appendln();
         final String titleString = section++ + ". " + title;
-        // string.append('\n');
         appendln(titleString);
-        // string.append('\n');
         final String underline = LINE.substring(0, Math.min(MAX_LINE_LENGTH, titleString.length()));
         appendln(underline);
-        // string.append('\n');
     }
 
     public void startSection(final String title) {
@@ -255,14 +253,6 @@ public class DebugString {
     }
 
     /**
-     * Return the <code>String</code> representation of this debug string.
-     */
-    @Override
-    public String toString() {
-        return string.toString();
-    }
-
-    /**
      * Decrease indent used when appending.
      */
     public void unindent() {
@@ -270,4 +260,12 @@ public class DebugString {
             indent--;
         }
     }
+    
+    /**
+     * Return the <code>String</code> representation of this debug string.
+     */
+    @Override
+    public String toString() {
+        return string.toString();
+    }
 }

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugUtils.java (from r1056120, incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/Debug.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugUtils.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugUtils.java&p1=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/Debug.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/Debug.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugUtils.java Sat Jan  8 22:53:36 2011
@@ -20,9 +20,9 @@
 
 package org.apache.isis.core.commons.debug;
 
-public final class Debug {
+public final class DebugUtils {
 	
-	private Debug() {}
+	private DebugUtils() {}
 	
     private static final String SPACES = "                                                                                                            ";
     private static final int NO_OF_SPACES = SPACES.length();

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebuggableWithTitle.java (from r1056120, incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugInfo.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebuggableWithTitle.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebuggableWithTitle.java&p1=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugInfo.java&r1=1056120&r2=1056832&rev=1056832&view=diff
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebugInfo.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/debug/DebuggableWithTitle.java Sat Jan  8 22:53:36 2011
@@ -23,7 +23,7 @@ package org.apache.isis.core.commons.deb
 /**
  * The information to be displayed in a trace or a debug window
  */
-public interface DebugInfo extends Debuggable {
+public interface DebuggableWithTitle extends Debuggable {
 
     /**
      * The title for the debug information