Return-Path: Delivered-To: apmail-incubator-isis-commits-archive@minotaur.apache.org Received: (qmail 96771 invoked from network); 6 Jan 2011 23:29:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 6 Jan 2011 23:29:43 -0000 Received: (qmail 58583 invoked by uid 500); 6 Jan 2011 23:29:43 -0000 Delivered-To: apmail-incubator-isis-commits-archive@incubator.apache.org Received: (qmail 58565 invoked by uid 500); 6 Jan 2011 23:29:43 -0000 Mailing-List: contact isis-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: isis-dev@incubator.apache.org Delivered-To: mailing list isis-commits@incubator.apache.org Received: (qmail 58558 invoked by uid 99); 6 Jan 2011 23:29:43 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Jan 2011 23:29:43 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Jan 2011 23:29:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id AF47323889B3; Thu, 6 Jan 2011 23:29:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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... Date: Thu, 06 Jan 2011 23:29:09 -0000 To: isis-commits@incubator.apache.org From: danhaywood@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110106232910.AF47323889B3@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 getMemberParameterSpecifications(final Identifier id) { - final String[] parameters = id.getMemberParameterNames(); + private static List loadParameterSpecifications(final Identifier id) { + final List parameters = id.getMemberParameterNames(); final List 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 { + private static final List EMPTY_LIST_OF_STRINGS = Collections.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 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 classNamesOf(final Class[] parameterClasses) { + if (parameterClasses == null) { + return EMPTY_LIST_OF_STRINGS; + } + final List 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 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 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 getMemberParameterNames() { return parameterNames; } - public String[] getMemberParameterNaturalNames() { + public List 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 a, final List 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 getMemberParameterNames() { return identifier.getMemberParameterNames(); } /** * As per {@link #getMemberParameterName()}, but naturalized. */ - public String[] getMemberParameterNaturalNames() { + public List 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 naturalNames(final List names) { + List 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. * *

- * For example, {@link PersistenceMechanismInstaller} has a constant - * {@link PersistenceMechanismInstaller#TYPE}. Any implementation of - * {@link PersistenceMechanismInstaller} should pass this constant value up + * For example, PersistenceMechanismInstaller has a constant + * PersistenceMechanismInstaller#TYPE. Any implementation of + * PersistenceMechanismInstaller 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 getConfigurationResources() { + @Override + public List getConfigurationResources() { List 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 parmList = new ArrayList(); + List 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 createDecorators() { - final FileBasedHelpManager manager = new FileBasedHelpManager(getConfiguration()); - return Arrays.asList(new StandardHelpFacetDecorator(manager)); + @Override + public List createDecorators() { + final HelpManagerUsingFiles manager = new HelpManagerUsingFiles(getConfiguration()); + return Arrays.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[] 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. + * + *

+ * 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. + * + *

+ * 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. + * + *

+ * 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. + * + *

+ * 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. + * + *

+ * 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 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 createDecorators() { - final ResourceBasedI18nManager manager = new ResourceBasedI18nManager(getConfiguration()); + @Override + public List createDecorators() { + final I18nManagerUsingResourceBundle manager = new I18nManagerUsingResourceBundle(getConfiguration()); manager.init(); return Arrays.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 getParameterNames(final Identifier identifier) { + return internalizedTextForParameter(identifier, NAME); } - private String text(final Identifier identifier, final String type) { + protected List 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 internalizedText = Lists.newArrayList(); + final List 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 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"