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/07 00:29:09 UTC

svn commit: r1056119 [1/2] - in /incubator/isis/trunk: alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/ alternatives/remoting/common/src/main/java/org/apache/isis/alternatives/remoting/common/facade/impl/ appli...

Author: danhaywood
Date: Thu Jan  6 23:29:07 2011
New Revision: 1056119

URL: http://svn.apache.org/viewvc?rev=1056119&view=rev
Log:
applied Sabine's patch for ISIS-70; also moved facetdecorators for help and i18n to progmodel (from runtime) in readiness to a potential refactoring as regular FacetFactory (see ISIS-69); also removed an array being returned from applib's Identifier class (ISIS-71); also minor inlining/removing duplication of methods in StringUtils (no JIRA ticket)

Added:
    incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/installers/InstallerAbstract.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecorator.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetDecorator.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecoratorUsingHelpManager.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/StandardHelpFacetDecorator.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetLookedUpViaHelpManager.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetLookup.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManager.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManager.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAbstract.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAbstract.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAssist.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAssist.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/dflt/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/dflt/internal/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/HelpFacetDecoratorUsingFilesInstaller.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpDecoratorInstaller.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpManager.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/package-info.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/package-info.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nFacetDecorator.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nFacetDecorator.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nManager.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nManager.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/DescribedAsFacetWrapI18n.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/DescribedAsFacetWrapI18n.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/HelpFacetWrapI18n.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/HelpFacetWrapI18n.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/NamedFacetWrapI18n.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/NamedFacetWrapI18n.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/I18nDecoratorUsingResourceBundleInstaller.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nDecoratorInstaller.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java
      - copied, changed from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nManager.java
Removed:
    incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/spec/
    incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/
    incubator/isis/trunk/core/metamodel/src/main/test-archived/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/spec/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/specloader/
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetDecorator.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetLookup.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManager.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAssist.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/StandardHelpFacetDecorator.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpDecoratorInstaller.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpManager.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/package-info.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nFacetDecorator.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nManager.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nDecoratorInstaller.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nManager.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/DescribedAsFacetWrapI18n.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/HelpFacetWrapI18n.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/NamedFacetWrapI18n.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/installers/InstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/system/facetdecorators/
Modified:
    incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStoreLoaderInstaller.java
    incubator/isis/trunk/alternatives/remoting/common/src/main/java/org/apache/isis/alternatives/remoting/common/facade/impl/ServerFacadeImpl.java
    incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/Identifier.java
    incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java
    incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/NameUtils.java
    incubator/isis/trunk/applib/src/test/java/org/apache/isis/applib/IdentifierTests.java
    incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java
    incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetedmethod/IdentifierUtils.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturesinstaller/FixturesInstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderNoopInstaller.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceMechanismInstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/ServicesInstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/config/ServicesFromConfiguration.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/options/OptionValidatorForPersistor.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/TransactionFacetDecoratorInstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerInstallerAbstract.java
    incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties
    incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/help/file/SimpleHelpManagerTest.java
    incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/transaction/messagebroker/MessageBrokerNoopInstaller.java
    incubator/isis/trunk/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/JettyEmbeddedWebServerInstaller.java
    incubator/isis/trunk/defaults/profilestore/src/main/java/org/apache/isis/defaults/profilestore/InMemoryUserProfileStoreInstaller.java
    incubator/isis/trunk/defaults/progmodel/src/main/java/org/apache/isis/defaults/progmodel/JavaReflectorInstaller.java
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBinding.java
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/UsingIsisViewerPeer.java
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ProposedArgumentValidityAbstract.java
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Contains.java
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/DoesNotContain.java
    incubator/isis/trunk/viewer/bdd/fitnesse/src/main/java/net/sf/isiscontrib/bdd/fitnesse/internal/fixtures/SetUpObjectsForFitNesse.java

Modified: incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStoreLoaderInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStoreLoaderInstaller.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStoreLoaderInstaller.java (original)
+++ incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStoreLoaderInstaller.java Thu Jan  6 23:29:07 2011
@@ -22,8 +22,8 @@ package org.apache.isis.alternatives.pro
 
 import java.util.List;
 
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
 import org.apache.isis.core.runtime.userprofile.UserProfileStore;
 import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
 

Modified: incubator/isis/trunk/alternatives/remoting/common/src/main/java/org/apache/isis/alternatives/remoting/common/facade/impl/ServerFacadeImpl.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/remoting/common/src/main/java/org/apache/isis/alternatives/remoting/common/facade/impl/ServerFacadeImpl.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/remoting/common/src/main/java/org/apache/isis/alternatives/remoting/common/facade/impl/ServerFacadeImpl.java (original)
+++ incubator/isis/trunk/alternatives/remoting/common/src/main/java/org/apache/isis/alternatives/remoting/common/facade/impl/ServerFacadeImpl.java Thu Jan  6 23:29:07 2011
@@ -183,7 +183,7 @@ public class ServerFacadeImpl implements
     private ObjectMember getActionElseThrowException(final Identifier id, final ObjectSpecification specification) {
         ObjectMember member =
             specification.getObjectAction(ActionType.USER, id.getMemberName(),
-                getMemberParameterSpecifications(id));
+                loadParameterSpecifications(id));
         if (member == null) {
             throw new IsisException("No user action found for id " + id);
         }
@@ -198,11 +198,11 @@ public class ServerFacadeImpl implements
         return member;
     }
 
-    private List<ObjectSpecification> getMemberParameterSpecifications(final Identifier id) {
-        final String[] parameters = id.getMemberParameterNames();
+    private static List<ObjectSpecification> loadParameterSpecifications(final Identifier id) {
+        final List<String> parameters = id.getMemberParameterNames();
         final List<ObjectSpecification> specifications = Lists.newArrayList();
-        for (int i = 0; i < parameters.length; i++) {
-            specifications.add(getSpecificationLoader().loadSpecification(parameters[i]));
+        for (String parameter : parameters) {
+            specifications.add(getSpecificationLoader().loadSpecification(parameter));
         }
         return specifications;
     }

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/Identifier.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/Identifier.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/Identifier.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/Identifier.java Thu Jan  6 23:29:07 2011
@@ -19,10 +19,18 @@
 
 package org.apache.isis.applib;
 
+import java.util.Collections;
+import java.util.List;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.Lists;
+
 import org.apache.isis.applib.util.NameUtils;
 
 public class Identifier implements Comparable<Identifier> {
 
+    private static final List<String> EMPTY_LIST_OF_STRINGS = Collections.<String>emptyList();
+
     /**
      * What type of feature this identifies.
      */
@@ -79,7 +87,7 @@ public class Identifier implements Compa
     }
 
     public static Identifier classIdentifier(final String className) {
-        return new Identifier(className, "", new String[] {}, Type.CLASS);
+        return new Identifier(className, "", EMPTY_LIST_OF_STRINGS, Type.CLASS);
     }
 
     public static Identifier propertyOrCollectionIdentifier(final Class<?> declaringClass,
@@ -89,34 +97,37 @@ public class Identifier implements Compa
 
     public static Identifier propertyOrCollectionIdentifier(final String declaringClassName,
         final String propertyOrCollectionName) {
-        return new Identifier(declaringClassName, propertyOrCollectionName, new String[] {},
+        return new Identifier(declaringClassName, propertyOrCollectionName, EMPTY_LIST_OF_STRINGS,
             Type.PROPERTY_OR_COLLECTION);
     }
 
     public static Identifier actionIdentifier(final Class<?> declaringClass, final String actionName,
         final Class<?>... parameterClasses) {
-        return actionIdentifier(declaringClass.getCanonicalName(), actionName, toParameterStringArray(parameterClasses));
+        return actionIdentifier(declaringClass.getCanonicalName(), actionName, classNamesOf(parameterClasses));
     }
 
     public static Identifier actionIdentifier(final String declaringClassName, final String actionName,
         final Class<?>... parameterClasses) {
-        return actionIdentifier(declaringClassName, actionName, toParameterStringArray(parameterClasses));
+        return actionIdentifier(declaringClassName, actionName, classNamesOf(parameterClasses));
     }
 
     public static Identifier actionIdentifier(final String declaringClassName, final String actionName,
-        final String[] parameterClassNames) {
+        final List<String> parameterClassNames) {
         return new Identifier(declaringClassName, actionName, parameterClassNames, Type.ACTION);
     }
 
     /**
      * Helper, used within contructor chaining
      */
-    private static String[] toParameterStringArray(final Class<?>[] parameterClasses) {
-        final String[] parameters = new String[parameterClasses == null ? 0 : parameterClasses.length];
-        for (int i = 0; i < parameters.length; i++) {
-            parameters[i] = parameterClasses[i].getName();
+    private static List<String> classNamesOf(final Class<?>[] parameterClasses) {
+        if (parameterClasses == null) {
+            return EMPTY_LIST_OF_STRINGS;
+        }
+        final List<String> parameterClassNames = Lists.newArrayList();
+        for (Class<?> parameterClass : parameterClasses) {
+            parameterClassNames.add(parameterClass.getName());
         }
-        return parameters;
+        return parameterClassNames;
     }
 
     // ///////////////////////////////////////////////////////////////////////////
@@ -125,7 +136,7 @@ public class Identifier implements Compa
 
     private final String className;
     private final String memberName;
-    private final String[] parameterNames;
+    private final List<String> parameterNames;
     private final Type type;
     private String identityString;
 
@@ -138,10 +149,10 @@ public class Identifier implements Compa
     // Constructor
     // ///////////////////////////////////////////////////////////////////////////
 
-    private Identifier(final String className, final String memberName, final String[] parameterNames, final Type type) {
+    private Identifier(final String className, final String memberName, final List<String> parameterNames, final Type type) {
         this.className = className;
         this.memberName = memberName;
-        this.parameterNames = parameterNames;
+        this.parameterNames = Collections.unmodifiableList(parameterNames);
         this.type = type;
     }
 
@@ -157,11 +168,11 @@ public class Identifier implements Compa
         return NameUtils.naturalName(memberName);
     }
 
-    public String[] getMemberParameterNames() {
+    public List<String> getMemberParameterNames() {
         return parameterNames;
     }
 
-    public String[] getMemberParameterNaturalNames() {
+    public List<String> getMemberParameterNaturalNames() {
         return NameUtils.naturalNames(parameterNames);
     }
 
@@ -216,18 +227,17 @@ public class Identifier implements Compa
 
     public StringBuilder toParmsIdentityString(final StringBuilder buf) {
         if (type == Type.ACTION) {
-            buf.append('(');
-            for (int i = 0; i < parameterNames.length; i++) {
-                if (i > 0) {
-                    buf.append(",");
-                }
-                buf.append(parameterNames[i]);
-            }
-            buf.append(')');
+            appendParameterNamesTo(buf);
         }
         return buf;
     }
 
+    private void appendParameterNamesTo(final StringBuilder buf) {
+        buf.append('(');
+        Joiner.on(',').appendTo(buf, parameterNames);
+        buf.append(')');
+    }
+
     public String toNameParmsIdentityString() {
         return getMemberName() + toParmsIdentityString();
     }
@@ -290,14 +300,10 @@ public class Identifier implements Compa
             return true;
         }
 
-        if (a != null) {
-            return a.equals(b);
-        }
-
-        return false;
+        return a != null && a.equals(b);
     }
 
-    private boolean equals(final String[] a, final String[] b) {
+    private boolean equals(final List<String> a, final List<String> b) {
         if (a == null && b == null) {
             return true;
         } else if (a == null && b != null) {
@@ -305,14 +311,7 @@ public class Identifier implements Compa
         } else if (a != null && b == null) {
             return false;
         } else if (a != null && b != null) {
-            if (a.length != b.length) {
-                return false;
-            }
-            for (int i = 0; i < b.length; i++) {
-                if (!a[i].equals(b[i])) {
-                    return false;
-                }
-            }
+            return a.equals(b);
         }
         return true;
     }
@@ -333,14 +332,7 @@ public class Identifier implements Compa
             buf.append(className);
             buf.append('#');
             buf.append(memberName);
-            buf.append('(');
-            for (int i = 0; i < parameterNames.length; i++) {
-                if (i > 0) {
-                    buf.append(", ");
-                }
-                buf.append(parameterNames[i]);
-            }
-            buf.append(')');
+            appendParameterNamesTo(buf);
             asString = buf.toString();
         }
         return asString;

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java Thu Jan  6 23:29:07 2011
@@ -20,6 +20,7 @@
 package org.apache.isis.applib.events;
 
 import java.util.EventObject;
+import java.util.List;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.util.NameUtils;
@@ -104,14 +105,14 @@ public abstract class InteractionEvent e
      * Convenience method that returns the {@link Identifier#getClassName() class name} of the {@link #getIdentifier()
      * identifier}.
      */
-    public String[] getMemberParameterNames() {
+    public List<String> getMemberParameterNames() {
         return identifier.getMemberParameterNames();
     }
 
     /**
      * As per {@link #getMemberParameterName()}, but naturalized.
      */
-    public String[] getMemberParameterNaturalNames() {
+    public List<String> getMemberParameterNaturalNames() {
         return NameUtils.naturalNames(getMemberParameterNames());
     }
 

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/NameUtils.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/NameUtils.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/NameUtils.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/util/NameUtils.java Thu Jan  6 23:29:07 2011
@@ -19,6 +19,11 @@
 
 package org.apache.isis.applib.util;
 
+import java.util.Collections;
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
 import org.apache.isis.applib.Identifier;
 
 /**
@@ -78,4 +83,12 @@ public class NameUtils {
         return naturalNames;
     }
 
+    public static List<String> naturalNames(final List<String> names) {
+        List<String> naturalNames = Lists.newArrayList();
+        for (final String name : names) {
+            naturalNames.add(NameUtils.naturalName(name));
+        }
+        return Collections.unmodifiableList(naturalNames);
+    }
+
 }

Modified: incubator/isis/trunk/applib/src/test/java/org/apache/isis/applib/IdentifierTests.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/test/java/org/apache/isis/applib/IdentifierTests.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/test/java/org/apache/isis/applib/IdentifierTests.java (original)
+++ incubator/isis/trunk/applib/src/test/java/org/apache/isis/applib/IdentifierTests.java Thu Jan  6 23:29:07 2011
@@ -24,19 +24,14 @@ import static org.hamcrest.CoreMatchers.
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.junit.Assert.assertThat;
 
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnit4Mockery;
+import java.math.BigDecimal;
+import java.util.Arrays;
+
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
 
-@RunWith(JMock.class)
 public class IdentifierTests {
 
-    @SuppressWarnings("unused")
-    private final Mockery mockery = new JUnit4Mockery();
-
     private Identifier identifier;
 
     @Before
@@ -57,4 +52,18 @@ public class IdentifierTests {
         assertThat(identifier.getClassName(), is(domainClassFullyQualifiedName));
     }
 
+    @Test
+    public void memberParameterNames() {
+        final Class<?> domainClass = SomeDomainClass.class;
+        identifier = Identifier.actionIdentifier(domainClass, "placeOrder", int.class, String.class);
+        assertThat(identifier.getMemberParameterNames(), is(Arrays.asList("int", "java.lang.String")));
+    }
+
+    @Test
+    public void paramsIdentityString() {
+        final Class<?> domainClass = SomeDomainClass.class;
+        identifier = Identifier.actionIdentifier(domainClass, "placeOrder", int.class, String.class, BigDecimal.class);
+        assertThat(identifier.toParmsIdentityString(), is("(int,java.lang.String,java.math.BigDecimal)"));
+    }
+
 }

Modified: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java Thu Jan  6 23:29:07 2011
@@ -130,7 +130,7 @@ public final class StringUtils {
      * Simply forces first char to be lower case.
      */
     public static String lowerFirst(final String str) {
-        if (emptyString(str)) {
+        if (isNullOrEmpty(str)) {
             return str;
         }
         if (str.length() == 1) {
@@ -150,25 +150,13 @@ public final class StringUtils {
 
 
     //////////////////////////////////////////////////////////////
-    // isNullOrEmpty, isNotEmpty, emptyString, nullSafeEquals
+    // isNullOrEmpty, nullSafeEquals
     //////////////////////////////////////////////////////////////
 
-    public static boolean emptyString(final String str) {
-        return str == null || str.length() == 0;
-    }
-    
     public static boolean isNullOrEmpty(final String str) {
-        return str == null || str.length() == 0;
+        return str == null || str.isEmpty();
     }
 
-    /**
-     * Reciprocal of {@link #isNullOrEmpty(String)}.
-     */
-    public static boolean isNotEmpty(final String str) {
-        return !isNullOrEmpty(str);
-    }
-
-
     public static boolean nullSafeEquals(final String str1, final String str2) {
         if (str1 == null || str2 == null) {
             return false;

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/installers/InstallerAbstract.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/installers/InstallerAbstract.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/installers/InstallerAbstract.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/config/InstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -18,20 +18,16 @@
  */
 
 
-package org.apache.isis.core.runtime.installers;
-
-import java.util.Collections;
-import java.util.List;
+package org.apache.isis.core.metamodel.config;
 
+import java.util.Collections;
+import java.util.List;
+
+import com.google.inject.Module;
+import com.google.inject.internal.Lists;
+import com.google.inject.util.Modules;
+
 import org.apache.isis.core.commons.components.Installer;
-import org.apache.isis.core.metamodel.config.ConfigurationBuilder;
-import org.apache.isis.core.metamodel.config.ConfigurationBuilderAware;
-import org.apache.isis.core.metamodel.config.IsisConfiguration;
-import org.apache.isis.core.runtime.persistence.PersistenceMechanismInstaller;
-
-import com.google.inject.Module;
-import com.google.inject.internal.Lists;
-import com.google.inject.util.Modules;
 
 public abstract class InstallerAbstract implements Installer,
 		ConfigurationBuilderAware {
@@ -47,9 +43,9 @@ public abstract class InstallerAbstract 
 	 * subinterface of Installer.
 	 * 
 	 * <p>
-	 * For example, {@link PersistenceMechanismInstaller} has a constant
-	 * {@link PersistenceMechanismInstaller#TYPE}. Any implementation of
-	 * {@link PersistenceMechanismInstaller} should pass this constant value up
+	 * For example, <tt>PersistenceMechanismInstaller</tt> has a constant
+	 * <tt>PersistenceMechanismInstaller#TYPE</tt>. Any implementation of
+	 * <tt>PersistenceMechanismInstaller</tt> should pass this constant value up
 	 * to this constructor.
 	 */
 	public InstallerAbstract(final String type, final String name) {
@@ -57,12 +53,14 @@ public abstract class InstallerAbstract 
 		this.name = name;
 	}
 
-	public String getType() {
+	@Override
+    public String getType() {
 		return type;
 	}
 
 	
-	public String getName() {
+	@Override
+    public String getName() {
 		return name;
 	}
 
@@ -75,7 +73,8 @@ public abstract class InstallerAbstract 
 	 * @see #getType()
 	 * @see #getName()
 	 */
-	public List<String> getConfigurationResources() {
+	@Override
+    public List<String> getConfigurationResources() {
 		List<String> resourceList = Lists.newArrayList();
 		String componentFile = getType() + ".properties";
 		resourceList.add(componentFile);
@@ -98,14 +97,16 @@ public abstract class InstallerAbstract 
 	/**
 	 * Default implementation does nothing.
 	 */
-	public void init() {
+	@Override
+    public void init() {
 		// no-op implementation, subclasses may override!
 	}
 
 	/**
 	 * Default implementation does nothing.
 	 */
-	public void shutdown() {
+	@Override
+    public void shutdown() {
 		// no-op implementation, subclasses may override!
 	}
 
@@ -118,7 +119,8 @@ public abstract class InstallerAbstract 
 	 * If a {@link #setConfiguration(IsisConfiguration) configuration}
 	 * has already been provided, then throws {@link IllegalStateException}.
 	 */
-	public void setConfigurationBuilder(
+	@Override
+    public void setConfigurationBuilder(
 			ConfigurationBuilder configurationBuilder) {
 		if (configuration != null) {
 			throw new IllegalStateException(

Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetedmethod/IdentifierUtils.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetedmethod/IdentifierUtils.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetedmethod/IdentifierUtils.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetedmethod/IdentifierUtils.java Thu Jan  6 23:29:07 2011
@@ -24,10 +24,11 @@ import static org.hamcrest.CoreMatchers.
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.CoreMatchers.nullValue;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
 
+import com.google.common.collect.Lists;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.commons.ensure.Ensure;
 
@@ -55,7 +56,7 @@ public final class IdentifierUtils {
             name = asString.substring(indexOfHash + 1);
             return Identifier.propertyOrCollectionIdentifier(className, name);
         }
-        List<String> parmList = new ArrayList<String>();
+        List<String> parmList = Lists.newArrayList();
         name = asString.substring(indexOfHash + 1, indexOfOpenBracket);
         final String allParms = asString.substring(indexOfOpenBracket + 1, indexOfCloseBracket).trim();
         if (allParms.length() > 0) {
@@ -66,7 +67,7 @@ public final class IdentifierUtils {
                 parmList.add(nextParam);
             }
         }
-        return Identifier.actionIdentifier(className, name, parmList.toArray(new String[]{}));
+        return Identifier.actionIdentifier(className, name, parmList);
     }
 
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecorator.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetDecorator.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecorator.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecorator.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetDecorator.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetDecorator.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecorator.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.help;
+package org.apache.isis.core.progmodel.facetdecorators.help;
 
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecoratorUsingHelpManager.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/StandardHelpFacetDecorator.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecoratorUsingHelpManager.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecoratorUsingHelpManager.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/StandardHelpFacetDecorator.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/StandardHelpFacetDecorator.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetDecoratorUsingHelpManager.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.help;
+package org.apache.isis.core.progmodel.facetdecorators.help;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -28,10 +28,10 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.facets.help.HelpFacet;
 
 
-public class StandardHelpFacetDecorator  extends FacetDecoratorAbstract implements HelpFacetDecorator {
+public class HelpFacetDecoratorUsingHelpManager  extends FacetDecoratorAbstract implements HelpFacetDecorator {
     private final HelpManager helpManager;
 
-    public StandardHelpFacetDecorator(final HelpManager manager) {
+    public HelpFacetDecoratorUsingHelpManager(final HelpManager manager) {
         helpManager = manager;
     }
 
@@ -46,7 +46,7 @@ public class StandardHelpFacetDecorator 
         if (facet.facetType() == HelpFacet.class) {
             final String lookupHelp = helpManager.help(identifier);
             if (lookupHelp != null) {
-                HelpFacetLookup decoratingFacet = new HelpFacetLookup(lookupHelp, facet.getFacetHolder());
+                HelpFacetLookedUpViaHelpManager decoratingFacet = new HelpFacetLookedUpViaHelpManager(lookupHelp, facet.getFacetHolder());
 				return replaceFacetWithDecoratingFacet(facet, decoratingFacet, requiredHolder);
             }
         }

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetLookedUpViaHelpManager.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetLookup.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetLookedUpViaHelpManager.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetLookedUpViaHelpManager.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetLookup.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpFacetLookup.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpFacetLookedUpViaHelpManager.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.help;
+package org.apache.isis.core.progmodel.facetdecorators.help;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.progmodel.facets.help.HelpFacetAbstract;
@@ -27,9 +27,9 @@ import org.apache.isis.core.progmodel.fa
 /**
  * Looked up via the {@link HelpManager}.
  */
-public class HelpFacetLookup extends HelpFacetAbstract {
+public class HelpFacetLookedUpViaHelpManager extends HelpFacetAbstract {
 
-    public HelpFacetLookup(final String value, final FacetHolder holder) {
+    public HelpFacetLookedUpViaHelpManager(final String value, final FacetHolder holder) {
         super(value, holder);
     }
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManager.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManager.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManager.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManager.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManager.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManager.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManager.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.help;
+package org.apache.isis.core.progmodel.facetdecorators.help;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAbstract.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAbstract.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAbstract.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAbstract.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAbstract.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAbstract.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.help;
+package org.apache.isis.core.progmodel.facetdecorators.help;
 
 import org.apache.isis.applib.Identifier;
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAssist.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAssist.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAssist.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAssist.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAssist.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/HelpManagerAssist.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/HelpManagerAssist.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.help;
+package org.apache.isis.core.progmodel.facetdecorators.help;
 
 import org.apache.isis.applib.Identifier;
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/HelpFacetDecoratorUsingFilesInstaller.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpDecoratorInstaller.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/HelpFacetDecoratorUsingFilesInstaller.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/HelpFacetDecoratorUsingFilesInstaller.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpDecoratorInstaller.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpDecoratorInstaller.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/HelpFacetDecoratorUsingFilesInstaller.java Thu Jan  6 23:29:07 2011
@@ -18,26 +18,28 @@
  */
 
 
-package org.apache.isis.core.runtime.help.file;
-
-import java.util.Arrays;
-import java.util.List;
+package org.apache.isis.core.progmodel.facetdecorators.help.file;
 
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
 import org.apache.isis.core.metamodel.specloader.FacetDecoratorInstaller;
-import org.apache.isis.core.runtime.help.StandardHelpFacetDecorator;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
+import org.apache.isis.core.progmodel.facetdecorators.help.HelpFacetDecoratorUsingHelpManager;
+import org.apache.isis.core.progmodel.facetdecorators.help.file.internal.HelpManagerUsingFiles;
 
 
-public class FileBasedHelpDecoratorInstaller extends InstallerAbstract implements FacetDecoratorInstaller {
+public class HelpFacetDecoratorUsingFilesInstaller extends InstallerAbstract implements FacetDecoratorInstaller {
 
-    public FileBasedHelpDecoratorInstaller() {
+    public HelpFacetDecoratorUsingFilesInstaller() {
 		super(FacetDecoratorInstaller.TYPE, "help-file");
 	}
 
-	public List<FacetDecorator> createDecorators() {
-        final FileBasedHelpManager manager = new FileBasedHelpManager(getConfiguration());
-        return Arrays.<FacetDecorator>asList(new StandardHelpFacetDecorator(manager));
+	@Override
+    public List<FacetDecorator> createDecorators() {
+        final HelpManagerUsingFiles manager = new HelpManagerUsingFiles(getConfiguration());
+        return Arrays.<FacetDecorator>asList(new HelpFacetDecoratorUsingHelpManager(manager));
     }
 
 	@Override

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpManager.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpManager.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/file/FileBasedHelpManager.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.help.file;
+package org.apache.isis.core.progmodel.facetdecorators.help.file.internal;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -29,12 +29,12 @@ import java.io.IOException;
 import org.apache.log4j.Logger;
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
-import org.apache.isis.core.runtime.help.HelpManagerAbstract;
+import org.apache.isis.core.progmodel.facetdecorators.help.HelpManagerAbstract;
 
 
-public class FileBasedHelpManager extends HelpManagerAbstract {
+public class HelpManagerUsingFiles extends HelpManagerAbstract {
 
-    private static final Logger LOG = Logger.getLogger(FileBasedHelpManager.class);
+    private static final Logger LOG = Logger.getLogger(HelpManagerUsingFiles.class);
 
     /**
      * The name of the file used unless overridden with {@link #setFileName(String)}.
@@ -48,7 +48,7 @@ public class FileBasedHelpManager extend
     @SuppressWarnings("unused")
     private final IsisConfiguration configuration;
 
-    public FileBasedHelpManager(IsisConfiguration configuration) {
+    public HelpManagerUsingFiles(IsisConfiguration configuration) {
         this.configuration = configuration;
     }
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/package-info.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/package-info.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/package-info.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/package-info.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/package-info.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/help/package-info.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/package-info.java Thu Jan  6 23:29:07 2011
@@ -26,4 +26,4 @@
  * authorisation - there is no help-proxy implementation.  Therefore for client/server deployments
  * any help content must be deployed locally.
  */
-package org.apache.isis.core.runtime.help;
\ No newline at end of file
+package org.apache.isis.core.progmodel.facetdecorators.help;
\ No newline at end of file

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nFacetDecorator.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nFacetDecorator.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nFacetDecorator.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nFacetDecorator.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nFacetDecorator.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nFacetDecorator.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nFacetDecorator.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.i18n.resourcebundle;
+package org.apache.isis.core.progmodel.facetdecorators.i18n;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -28,9 +28,9 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.facets.help.HelpFacet;
 import org.apache.isis.core.metamodel.facets.naming.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
-import org.apache.isis.core.runtime.i18n.resourcebundle.facets.DescribedAsFacetWrapI18n;
-import org.apache.isis.core.runtime.i18n.resourcebundle.facets.HelpFacetWrapI18n;
-import org.apache.isis.core.runtime.i18n.resourcebundle.facets.NamedFacetWrapI18n;
+import org.apache.isis.core.progmodel.facetdecorators.i18n.internal.DescribedAsFacetWrapI18n;
+import org.apache.isis.core.progmodel.facetdecorators.i18n.internal.HelpFacetWrapI18n;
+import org.apache.isis.core.progmodel.facetdecorators.i18n.internal.NamedFacetWrapI18n;
 
 
 public class I18nFacetDecorator extends FacetDecoratorAbstract {
@@ -40,6 +40,7 @@ public class I18nFacetDecorator extends 
         i18nManager = manager;
     }
 
+    @Override
     public Facet decorate(final Facet facet, FacetHolder requiredHolder) {
     	if (!(requiredHolder instanceof IdentifiedHolder)) {
             return null;
@@ -76,6 +77,7 @@ public class I18nFacetDecorator extends 
         return facet;
     }
 
+    @Override
     public Class<? extends Facet>[] getFacetTypes() {
         return new Class[] { NamedFacet.class, DescribedAsFacet.class, HelpFacet.class };
     }

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nManager.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nManager.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nManager.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nManager.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nManager.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/I18nManager.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/I18nManager.java Thu Jan  6 23:29:07 2011
@@ -17,40 +17,52 @@
  *  under the License.
  */
 
+package org.apache.isis.core.progmodel.facetdecorators.i18n;
 
-package org.apache.isis.core.runtime.i18n.resourcebundle;
+import java.util.List;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 
-
 /**
  * Authorises the user in the current session view and use members of an object.
+ * 
+ * <p>
+ * TODO: allow description and help to be found for parameters
  */
 public interface I18nManager extends ApplicationScopedComponent {
 
     /**
-     * Get the localized description for the specified identified action/property. Returns null if no
-     * description available.
+     * Get the localized name for the specified identified action/property. 
+     * 
+     * <p>
+     * Returns null if no name available.
      */
-    String getDescription(Identifier identifier);
+    String getName(Identifier identifier);
 
     /**
-     * Get the localized name for the specified identified action/property. Returns null if no name available.
+     * Get the localized description for the specified identified action/property.
+     * 
+     * <p>
+     * Returns null if no description available.
      */
-    String getName(Identifier identifier);
+    String getDescription(Identifier identifier);
 
     /**
-     * Get the localized help text for the specified identified action/property. Returns null if no help text
-     * available.
+     * Get the localized help text for the specified identified action/property. 
+     * 
+     * <p>
+     * Returns null if no help text available.
      */
     String getHelp(Identifier identifier);
 
     /**
-     * Get the localized parameter names for the specified identified action/property. Returns null if no
-     * parameters are available. Otherwise returns an array of String objects the size of the number of
-     * parameters, where each element is the localised name for the corresponding parameter, or is null if no
+     * Get the localized parameter names for the specified identified action/property.
+     * 
+     * <p>
+     * Returns null if no parameters are available. Otherwise returns an array of String objects the size of the number
+     * of parameters, where each element is the localised name for the corresponding parameter, or is null if no
      * parameter name is available.
      */
-    String[] getParameterNames(Identifier identifier);
+    List<String> getParameterNames(Identifier identifier);
 }

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/DescribedAsFacetWrapI18n.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/DescribedAsFacetWrapI18n.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/DescribedAsFacetWrapI18n.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/DescribedAsFacetWrapI18n.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/DescribedAsFacetWrapI18n.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/DescribedAsFacetWrapI18n.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/DescribedAsFacetWrapI18n.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.i18n.resourcebundle.facets;
+package org.apache.isis.core.progmodel.facetdecorators.i18n.internal;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.naming.describedas.DescribedAsFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/HelpFacetWrapI18n.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/HelpFacetWrapI18n.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/HelpFacetWrapI18n.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/HelpFacetWrapI18n.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/HelpFacetWrapI18n.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/HelpFacetWrapI18n.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/HelpFacetWrapI18n.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.i18n.resourcebundle.facets;
+package org.apache.isis.core.progmodel.facetdecorators.i18n.internal;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.progmodel.facets.help.HelpFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/NamedFacetWrapI18n.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/NamedFacetWrapI18n.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/NamedFacetWrapI18n.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/NamedFacetWrapI18n.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/NamedFacetWrapI18n.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/facets/NamedFacetWrapI18n.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/internal/NamedFacetWrapI18n.java Thu Jan  6 23:29:07 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.runtime.i18n.resourcebundle.facets;
+package org.apache.isis.core.progmodel.facetdecorators.i18n.internal;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.naming.named.NamedFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/I18nDecoratorUsingResourceBundleInstaller.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nDecoratorInstaller.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/I18nDecoratorUsingResourceBundleInstaller.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/I18nDecoratorUsingResourceBundleInstaller.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nDecoratorInstaller.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nDecoratorInstaller.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/I18nDecoratorUsingResourceBundleInstaller.java Thu Jan  6 23:29:07 2011
@@ -18,24 +18,27 @@
  */
 
 
-package org.apache.isis.core.runtime.i18n.resourcebundle;
-
-import java.util.Arrays;
-import java.util.List;
+package org.apache.isis.core.progmodel.facetdecorators.i18n.resourcebundle;
 
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
 import org.apache.isis.core.metamodel.specloader.FacetDecoratorInstaller;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
+import org.apache.isis.core.progmodel.facetdecorators.i18n.I18nFacetDecorator;
+import org.apache.isis.core.progmodel.facetdecorators.i18n.resourcebundle.internal.I18nManagerUsingResourceBundle;
 
 
-public class ResourceBasedI18nDecoratorInstaller extends InstallerAbstract implements FacetDecoratorInstaller {
+public class I18nDecoratorUsingResourceBundleInstaller extends InstallerAbstract implements FacetDecoratorInstaller {
 
-    public ResourceBasedI18nDecoratorInstaller() {
+    public I18nDecoratorUsingResourceBundleInstaller() {
 		super(FacetDecoratorInstaller.TYPE, "resource-i18n");
 	}
     
-	public List<FacetDecorator> createDecorators() {
-        final ResourceBasedI18nManager manager = new ResourceBasedI18nManager(getConfiguration());
+	@Override
+    public List<FacetDecorator> createDecorators() {
+        final I18nManagerUsingResourceBundle manager = new I18nManagerUsingResourceBundle(getConfiguration());
         manager.init();
         return Arrays.<FacetDecorator>asList(new I18nFacetDecorator(manager));
     }

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java (from r1053926, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nManager.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java&p1=incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nManager.java&r1=1053926&r2=1056119&rev=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/i18n/resourcebundle/ResourceBasedI18nManager.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java Thu Jan  6 23:29:07 2011
@@ -18,38 +18,52 @@
  */
 
 
-package org.apache.isis.core.runtime.i18n.resourcebundle;
+package org.apache.isis.core.progmodel.facetdecorators.i18n.resourcebundle.internal;
 
+import java.util.List;
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
 import org.apache.log4j.Logger;
+
+import com.google.common.collect.Lists;
+
 import org.apache.isis.applib.Identifier;
+import org.apache.isis.core.commons.lang.StringUtils;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
+import org.apache.isis.core.progmodel.facetdecorators.i18n.I18nManager;
 
+/**
+ * REVIEW: why isn't there a type for collections also?
+ */
+public class I18nManagerUsingResourceBundle implements I18nManager {
 
-public class ResourceBasedI18nManager implements I18nManager {
-
-    private static final Logger LOG = Logger.getLogger(ResourceBasedI18nManager.class);
+    private static final Logger LOG = Logger.getLogger(I18nManagerUsingResourceBundle.class);
 
     private static final String BASE_FILE_NAME = "i18n";
 
-    private static final String PARAMETER = "parameter";
-    private static final String DESCRIPTION = "description";
     private static final String PROPERTY = "property";
+    private static final String ACTION = "action";
+    private static final String PARAMETER = "parameter";
+    
     private static final String NAME = "name";
+    private static final String DESCRIPTION = "description";
     private static final String HELP = "help";
-    private static final String ACTION = "action";
 
     private ResourceBundle bundle;
 
     @SuppressWarnings("unused")
     private IsisConfiguration configuration;
 
-    public ResourceBasedI18nManager(IsisConfiguration configuration) {
+    ////////////////////////////////////////////////////////////////
+    // Contructor, init, shutdown
+    ////////////////////////////////////////////////////////////////
+    
+    public I18nManagerUsingResourceBundle(IsisConfiguration configuration) {
         this.configuration = configuration;
     }
 
+    @Override
     public void init() {
         try {
             bundle = ResourceBundle.getBundle(BASE_FILE_NAME);
@@ -59,52 +73,87 @@ public class ResourceBasedI18nManager im
 
     }
 
+    @Override
     public void shutdown() {}
 
+    
+    ////////////////////////////////////////////////////////////////
+    // Members
+    ////////////////////////////////////////////////////////////////
+
+    @Override
     public String getName(final Identifier identifier) {
-        return text(identifier, NAME);
+        return internalizedTextForClassMember(identifier, NAME);
     }
 
+    @Override
     public String getDescription(final Identifier identifier) {
-        return text(identifier, DESCRIPTION);
+        return internalizedTextForClassMember(identifier, DESCRIPTION);
     }
 
+    @Override
     public String getHelp(final Identifier identifier) {
-        return text(identifier, HELP);
+        return internalizedTextForClassMember(identifier, HELP);
     }
 
-    // TODO allow description and help to be found for parameters
-    public String[] getParameterNames(final Identifier identifier) {
+    private String internalizedTextForClassMember(final Identifier identifier, final String textType) {
         if (bundle == null) {
             return null;
-        } else {
-            final String[] array = new String[identifier.getMemberParameterNames().length];
-            for (int i = 0; i < array.length; i++) {
-                final String key = identifier.getClassName() + "." + ACTION + "." + identifier.getMemberName() + "." + PARAMETER
-                        + (i + 1) + "." + NAME;
-                try {
-                    array[i] = bundle.getString(key);
-                } catch (final MissingResourceException e) {
-                    array[i] = null;
-                }
-            }
-            return array;
+        } 
+        final String key = buildMemberTypeKey(identifier, textType);
+        return lookupTextFromBundle(key);
+    }
+
+    private static String buildMemberTypeKey(final Identifier identifier, final String textType) {
+        StringBuilder sb = new StringBuilder();
+        final String form = identifier.isPropertyOrCollection() ? PROPERTY
+            : ACTION;
+        sb = sb.append(identifier.getClassName()).append(".").append(form);
+        final String memberName = identifier.getMemberName();
+        if (!StringUtils.isNullOrEmpty(memberName)) {
+            sb.append(".").append(memberName);
         }
+        sb.append(".").append(textType);
+        return sb.toString();
+    }
+
+    ////////////////////////////////////////////////////////////////
+    // Parameters
+    ////////////////////////////////////////////////////////////////
+
+    @Override
+    public List<String> getParameterNames(final Identifier identifier) {
+        return internalizedTextForParameter(identifier, NAME);
     }
 
-    private String text(final Identifier identifier, final String type) {
+    protected List<String> internalizedTextForParameter(final Identifier identifier, final String textType) {
         if (bundle == null) {
             return null;
-        } else {
-            final String form = identifier.isPropertyOrCollection() ? PROPERTY : ACTION;
-            final String key = identifier.getClassName() + "." + form + "." + identifier.getMemberName() + "." + type;
-            try {
-                return bundle.getString(key);
-            } catch (final MissingResourceException e) {
-                return null;
-            }
+        } 
+        final List<String> internalizedText = Lists.newArrayList();
+        final List<String> memberParameterNames = identifier.getMemberParameterNames();
+        int paramNum=0;
+        for (@SuppressWarnings("unused") String dummy : memberParameterNames) {
+            final String key = buildParameterTypeKey(identifier, textType, paramNum);
+            internalizedText.add(lookupTextFromBundle(key));
+            paramNum++;
         }
+        return internalizedText;
+    }
+
+    private static String buildParameterTypeKey(final Identifier identifier, final String textType, int paramNum) {
+        return identifier.getClassName() + "." + ACTION + "." + identifier.getMemberName() + "." + PARAMETER
+                + (paramNum + 1) + "." + textType;
     }
 
+    
+    private String lookupTextFromBundle(final String key) {
+        try {
+            return bundle.getString(key);
+        } catch (final MissingResourceException e) {
+            return null;
+        }
+    }
+    
 }
 

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -22,10 +22,10 @@ package org.apache.isis.core.runtime.aut
 
 import java.util.List;
 
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstaller;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
 
 
 public abstract class AuthenticationManagerStandardInstallerAbstract extends InstallerAbstract implements

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -22,10 +22,10 @@ package org.apache.isis.core.runtime.aut
 
 import java.util.List;
 
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
 
 
 public abstract class AuthorizationManagerStandardInstallerAbstract extends InstallerAbstract implements AuthorizationManagerInstaller {

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturesinstaller/FixturesInstallerAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturesinstaller/FixturesInstallerAbstract.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturesinstaller/FixturesInstallerAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturesinstaller/FixturesInstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -24,7 +24,7 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 
 public abstract class FixturesInstallerAbstract extends InstallerAbstract implements FixturesInstaller {
 

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderNoopInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderNoopInstaller.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderNoopInstaller.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderNoopInstaller.java Thu Jan  6 23:29:07 2011
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.ima
 
 import java.util.List;
 
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 
 public class TemplateImageLoaderNoopInstaller extends InstallerAbstract implements TemplateImageLoaderInstaller {
 

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java Thu Jan  6 23:29:07 2011
@@ -22,9 +22,9 @@ package org.apache.isis.core.runtime.ima
 
 import java.util.List;
 
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
 
 
 

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceMechanismInstallerAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceMechanismInstallerAbstract.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceMechanismInstallerAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceMechanismInstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -32,10 +32,10 @@ import org.apache.log4j.Logger;
 
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.core.commons.factory.InstanceFactory;
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
 import org.apache.isis.core.runtime.installers.InstallerLookup;
 import org.apache.isis.core.runtime.installers.InstallerLookupAware;
 import org.apache.isis.core.runtime.persistence.adapterfactory.AdapterFactory;

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/ServicesInstallerAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/ServicesInstallerAbstract.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/ServicesInstallerAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/ServicesInstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -26,7 +26,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.runtime.system.DeploymentType;
 
 

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/config/ServicesFromConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/config/ServicesFromConfiguration.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/config/ServicesFromConfiguration.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/services/config/ServicesFromConfiguration.java Thu Jan  6 23:29:07 2011
@@ -30,9 +30,9 @@ import org.apache.isis.core.commons.fact
 import org.apache.isis.core.commons.lang.ArrayUtils;
 import org.apache.isis.core.commons.lang.ListUtils;
 import org.apache.isis.core.metamodel.config.ConfigurationConstants;
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
 import org.apache.isis.core.runtime.fixture.ObjectFixtureService;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
 import org.apache.isis.core.runtime.persistence.services.InitialisationException;
 import org.apache.isis.core.runtime.persistence.services.ServicesInstaller;
 import org.apache.isis.core.runtime.persistence.services.SimpleRepository;

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/options/OptionValidatorForPersistor.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/options/OptionValidatorForPersistor.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/options/OptionValidatorForPersistor.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/options/OptionValidatorForPersistor.java Thu Jan  6 23:29:07 2011
@@ -38,8 +38,7 @@ public final class OptionValidatorForPer
     public Maybe<String> validate(DeploymentType deploymentType) {
         String objectPersistorName = optionHandlerPersistor
                 .getPersistorName();
-        boolean fail = StringUtils
-                .isNotEmpty(objectPersistorName)
+        boolean fail = (!StringUtils.isNullOrEmpty(objectPersistorName))
                 && !deploymentType.canSpecifyObjectStore();
         String failMsg = String
                 .format(

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/TransactionFacetDecoratorInstallerAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/TransactionFacetDecoratorInstallerAbstract.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/TransactionFacetDecoratorInstallerAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/TransactionFacetDecoratorInstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -20,8 +20,8 @@
 
 package org.apache.isis.core.runtime.transaction.facetdecorator;
 
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.metamodel.specloader.FacetDecoratorInstaller;
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
 
 
 public abstract class TransactionFacetDecoratorInstallerAbstract extends InstallerAbstract implements FacetDecoratorInstaller {

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerInstallerAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerInstallerAbstract.java?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerInstallerAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerInstallerAbstract.java Thu Jan  6 23:29:07 2011
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.vie
 
 import java.util.List;
 
-import org.apache.isis.core.runtime.installers.InstallerAbstract;
+import org.apache.isis.core.metamodel.config.InstallerAbstract;
 import org.apache.isis.core.runtime.installers.InstallerLookup;
 
 

Modified: incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties?rev=1056119&r1=1056118&r2=1056119&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties (original)
+++ incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties Thu Jan  6 23:29:07 2011
@@ -12,9 +12,9 @@ org.apache.isis.core.runtime.fixturesins
 org.apache.isis.core.runtime.persistence.services.config.ServicesFromConfiguration   # "configuration"
 
 # reflector decorators
-org.apache.isis.core.runtime.i18n.resourcebundle.ResourceBasedI18nDecoratorInstaller  # "resource-i18n"
-org.apache.isis.core.runtime.help.file.FileBasedHelpDecoratorInstaller                # "help-file"
-org.apache.isis.core.runtime.transaction.facetdecorator.standard.TransactionFacetDecoratorInstaller      # "transaction"
+org.apache.isis.core.progmodel.facetdecorators.i18n.resourcebundle.I18nDecoratorUsingResourceBundleInstaller # "resource-i18n"
+org.apache.isis.core.progmodel.facetdecorators.help.file.HelpFacetDecoratorUsingFilesInstaller               # "help-file"
+org.apache.isis.core.runtime.transaction.facetdecorator.standard.TransactionFacetDecoratorInstaller          # "transaction"
 
 # viewer (runs within embedded web server)
 org.apache.isis.core.webapp.monitor.WebServerMonitorInstaller  # "monitor"