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/04/27 00:03:55 UTC
svn commit: r1096928 [10/16] - in
/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel:
facetdecorators/help/ facetdecorators/help/file/
facetdecorators/help/file/internal/ facetdecorators/i18n/
facetdecorators/i18n/interna...
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetAbstract.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetAbstract.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.object.value;
-package org.apache.isis.core.progmodel.facets.object.value;
-
import org.apache.isis.applib.adapters.DefaultsProvider;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
@@ -38,154 +37,145 @@ import org.apache.isis.core.progmodel.fa
import org.apache.isis.core.progmodel.facets.object.encodeable.EncodableFacetUsingEncoderDecoder;
import org.apache.isis.core.progmodel.facets.object.parseable.ParseableFacetUsingParser;
import org.apache.isis.core.progmodel.facets.object.title.TitleFacetUsingParser;
-
-
-public abstract class ValueFacetAbstract extends MultipleValueFacetAbstract implements ValueFacet {
-
- public static Class<? extends Facet> type() {
- return ValueFacet.class;
- }
-
- private static ValueSemanticsProvider<?> newValueSemanticsProviderOrNull(
- final Class<?> semanticsProviderClass,
- final FacetHolder holder,
- final IsisConfiguration configuration,
- final ValueSemanticsProviderContext context) {
- if (semanticsProviderClass == null) {
- return null;
- }
- return (ValueSemanticsProvider<?>) ClassUtil.newInstance(
- semanticsProviderClass,
- new Class<?>[]{ FacetHolder.class, IsisConfiguration.class, ValueSemanticsProviderContext.class},
- new Object[] { holder, configuration, context});
- }
-
- // to look after the facets (since MultiTyped)
- private final FacetHolder facetHolder = new FacetHolderImpl();
-
- private final ValueSemanticsProvider<?> semanticsProvider;
+
+public abstract class ValueFacetAbstract extends MultipleValueFacetAbstract implements ValueFacet {
+
+ public static Class<? extends Facet> type() {
+ return ValueFacet.class;
+ }
+
+ private static ValueSemanticsProvider<?> newValueSemanticsProviderOrNull(final Class<?> semanticsProviderClass,
+ final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
+ if (semanticsProviderClass == null) {
+ return null;
+ }
+ return (ValueSemanticsProvider<?>) ClassUtil.newInstance(semanticsProviderClass, new Class<?>[] {
+ FacetHolder.class, IsisConfiguration.class, ValueSemanticsProviderContext.class }, new Object[] { holder,
+ configuration, context });
+ }
+
+ // to look after the facets (since MultiTyped)
+ private final FacetHolder facetHolder = new FacetHolderImpl();
+
+ private final ValueSemanticsProvider<?> semanticsProvider;
private final ValueSemanticsProviderContext context;
public enum AddFacetsIfInvalidStrategy {
- DO_ADD(true),
- DONT_ADD(false);
+ DO_ADD(true), DONT_ADD(false);
private boolean addFacetsIfInvalid;
- private AddFacetsIfInvalidStrategy(boolean addFacetsIfInvalid) {
+
+ private AddFacetsIfInvalidStrategy(final boolean addFacetsIfInvalid) {
this.addFacetsIfInvalid = addFacetsIfInvalid;
}
+
public boolean shouldAddFacetsIfInvalid() {
return addFacetsIfInvalid;
}
}
-
- public ValueFacetAbstract(
- final Class<?> semanticsProviderClass,
- final AddFacetsIfInvalidStrategy addFacetsIfInvalid,
- final FacetHolder holder,
- final IsisConfiguration configuration,
- final ValueSemanticsProviderContext context) {
- this(newValueSemanticsProviderOrNull(semanticsProviderClass, holder, configuration, context),
- addFacetsIfInvalid, holder, context);
- }
-
- public ValueFacetAbstract(
- final ValueSemanticsProvider<?> semanticsProvider,
- final AddFacetsIfInvalidStrategy addFacetsIfInvalid,
- final FacetHolder holder,
- final ValueSemanticsProviderContext context) {
- super(type(), holder);
-
+
+ public ValueFacetAbstract(final Class<?> semanticsProviderClass,
+ final AddFacetsIfInvalidStrategy addFacetsIfInvalid, final FacetHolder holder,
+ final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
+ this(newValueSemanticsProviderOrNull(semanticsProviderClass, holder, configuration, context),
+ addFacetsIfInvalid, holder, context);
+ }
+
+ public ValueFacetAbstract(final ValueSemanticsProvider<?> semanticsProvider,
+ final AddFacetsIfInvalidStrategy addFacetsIfInvalid, final FacetHolder holder,
+ final ValueSemanticsProviderContext context) {
+ super(type(), holder);
+
this.semanticsProvider = semanticsProvider;
this.context = context;
-
- // note: we can't use the runtimeContext to inject dependencies into the semanticsProvider,
- // because there won't be any PersistenceSession when initially building the metamodel.
- // so, we defer until we use the parser.
-
- if (!isValid() && !addFacetsIfInvalid.shouldAddFacetsIfInvalid()) {
- return;
- }
-
- // we now figure add all the facets supported. Note that we do not use FacetUtil.addFacet,
- // because we need to add them explicitly to our delegate facetholder but have the
- // facets themselves reference this value's holder.
-
- facetHolder.addFacet((Facet) this); // add just ValueFacet.class initially.
-
- // we used to add aggregated here, but this was wrong.
- // An immutable value is not aggregated, it is shared.
-
- // ImmutableFacet, if appropriate
- final boolean immutable = semanticsProvider != null ? semanticsProvider.isImmutable() : true;
- if (immutable) {
- facetHolder.addFacet(new ImmutableFacetViaValueSemantics(holder));
- }
-
- // EqualByContentFacet, if appropriate
- final boolean equalByContent = semanticsProvider != null ? semanticsProvider.isEqualByContent() : true;
- if (equalByContent) {
- facetHolder.addFacet(new EqualByContentFacetViaValueSemantics(holder));
- }
-
- if (semanticsProvider != null) {
-
- // install the EncodeableFacet if we've been given an EncoderDecoder
- final EncoderDecoder<?> encoderDecoder = semanticsProvider.getEncoderDecoder();
- if (encoderDecoder != null) {
- facetHolder.addFacet(new EncodableFacetUsingEncoderDecoder(encoderDecoder, holder, getAdapterMap(), getDependencyInjector()));
- }
-
- // install the ParseableFacet and other facets if we've been given a Parser
- final Parser<?> parser = semanticsProvider.getParser();
- if (parser != null) {
- facetHolder.addFacet(new ParseableFacetUsingParser(parser, holder, getAuthenticationSessionProvider(), getDependencyInjector(), getAdapterMap()));
- facetHolder.addFacet(new TitleFacetUsingParser(parser, holder, getDependencyInjector()));
- facetHolder.addFacet(new TypicalLengthFacetUsingParser(parser, holder, getDependencyInjector()));
- }
-
- // install the DefaultedFacet if we've been given a DefaultsProvider
- final DefaultsProvider<?> defaultsProvider = semanticsProvider.getDefaultsProvider();
- if (defaultsProvider != null) {
- facetHolder.addFacet(new DefaultedFacetUsingDefaultsProvider(defaultsProvider, holder, getDependencyInjector()));
- }
- }
- }
-
-
- public boolean isValid() {
- return this.semanticsProvider != null;
- }
-
- // /////////////////////////////
- // MultiTypedFacet impl
- // /////////////////////////////
+
+ // note: we can't use the runtimeContext to inject dependencies into the semanticsProvider,
+ // because there won't be any PersistenceSession when initially building the metamodel.
+ // so, we defer until we use the parser.
+
+ if (!isValid() && !addFacetsIfInvalid.shouldAddFacetsIfInvalid()) {
+ return;
+ }
+
+ // we now figure add all the facets supported. Note that we do not use FacetUtil.addFacet,
+ // because we need to add them explicitly to our delegate facetholder but have the
+ // facets themselves reference this value's holder.
+
+ facetHolder.addFacet((Facet) this); // add just ValueFacet.class initially.
+
+ // we used to add aggregated here, but this was wrong.
+ // An immutable value is not aggregated, it is shared.
+
+ // ImmutableFacet, if appropriate
+ final boolean immutable = semanticsProvider != null ? semanticsProvider.isImmutable() : true;
+ if (immutable) {
+ facetHolder.addFacet(new ImmutableFacetViaValueSemantics(holder));
+ }
+
+ // EqualByContentFacet, if appropriate
+ final boolean equalByContent = semanticsProvider != null ? semanticsProvider.isEqualByContent() : true;
+ if (equalByContent) {
+ facetHolder.addFacet(new EqualByContentFacetViaValueSemantics(holder));
+ }
+
+ if (semanticsProvider != null) {
+
+ // install the EncodeableFacet if we've been given an EncoderDecoder
+ final EncoderDecoder<?> encoderDecoder = semanticsProvider.getEncoderDecoder();
+ if (encoderDecoder != null) {
+ facetHolder.addFacet(new EncodableFacetUsingEncoderDecoder(encoderDecoder, holder, getAdapterMap(),
+ getDependencyInjector()));
+ }
+
+ // install the ParseableFacet and other facets if we've been given a Parser
+ final Parser<?> parser = semanticsProvider.getParser();
+ if (parser != null) {
+ facetHolder.addFacet(new ParseableFacetUsingParser(parser, holder, getAuthenticationSessionProvider(),
+ getDependencyInjector(), getAdapterMap()));
+ facetHolder.addFacet(new TitleFacetUsingParser(parser, holder, getDependencyInjector()));
+ facetHolder.addFacet(new TypicalLengthFacetUsingParser(parser, holder, getDependencyInjector()));
+ }
+
+ // install the DefaultedFacet if we've been given a DefaultsProvider
+ final DefaultsProvider<?> defaultsProvider = semanticsProvider.getDefaultsProvider();
+ if (defaultsProvider != null) {
+ facetHolder.addFacet(new DefaultedFacetUsingDefaultsProvider(defaultsProvider, holder,
+ getDependencyInjector()));
+ }
+ }
+ }
+
+ public boolean isValid() {
+ return this.semanticsProvider != null;
+ }
+
+ // /////////////////////////////
+ // MultiTypedFacet impl
+ // /////////////////////////////
@Override
- public Class<? extends Facet>[] facetTypes() {
- return facetHolder.getFacetTypes();
- }
-
+ public Class<? extends Facet>[] facetTypes() {
+ return facetHolder.getFacetTypes();
+ }
+
@Override
- public <T extends Facet> T getFacet(Class<T> facetType) {
- return facetHolder.getFacet(facetType);
- }
-
-
-
- // /////////////////////////////////////////
- // Dependencies (from constructor)
- // /////////////////////////////////////////
+ public <T extends Facet> T getFacet(final Class<T> facetType) {
+ return facetHolder.getFacet(facetType);
+ }
+
+ // /////////////////////////////////////////
+ // Dependencies (from constructor)
+ // /////////////////////////////////////////
public AdapterMap getAdapterMap() {
return context.getAdapterMap();
}
-
+
public DependencyInjector getDependencyInjector() {
return context.getDependencyInjector();
}
public AuthenticationSessionProvider getAuthenticationSessionProvider() {
return context.getAuthenticationSessionProvider();
- }
-
-}
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetFromConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetFromConfiguration.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetFromConfiguration.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetFromConfiguration.java Tue Apr 26 22:03:43 2011
@@ -17,22 +17,17 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.object.value;
-package org.apache.isis.core.progmodel.facets.object.value;
-
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-
-public class ValueFacetFromConfiguration extends ValueFacetAbstract {
-
- public ValueFacetFromConfiguration(
- final String candidateSemanticsProviderName,
- final FacetHolder holder,
- final IsisConfiguration configuration,
- final ValueSemanticsProviderContext context) {
- super(ValueSemanticsProviderUtil.valueSemanticsProviderOrNull(null, candidateSemanticsProviderName), AddFacetsIfInvalidStrategy.DONT_ADD, holder, configuration, context);
- }
-
-}
-
+
+public class ValueFacetFromConfiguration extends ValueFacetAbstract {
+
+ public ValueFacetFromConfiguration(final String candidateSemanticsProviderName, final FacetHolder holder,
+ final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
+ super(ValueSemanticsProviderUtil.valueSemanticsProviderOrNull(null, candidateSemanticsProviderName),
+ AddFacetsIfInvalidStrategy.DONT_ADD, holder, configuration, context);
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetUsingSemanticsProvider.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetUsingSemanticsProvider.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetUsingSemanticsProvider.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetUsingSemanticsProvider.java Tue Apr 26 22:03:43 2011
@@ -17,27 +17,22 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.object.value;
-package org.apache.isis.core.progmodel.facets.object.value;
-
import org.apache.isis.applib.adapters.ValueSemanticsProvider;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-
-
-public class ValueFacetUsingSemanticsProvider extends ValueFacetAbstract {
-
- public ValueFacetUsingSemanticsProvider(
- final ValueSemanticsProvider<?> adapter,
- final Facet underlyingValueTypeFacet,
- final ValueSemanticsProviderContext context
- ) {
- super(adapter, AddFacetsIfInvalidStrategy.DO_ADD, underlyingValueTypeFacet.getFacetHolder(), context);
-
- // add the adapter in as its own facet (eg StringFacet).
- // This facet is almost certainly superfluous; there is nothing in the
- // viewers that needs to get hold of such a facet, for example.
- FacetUtil.addFacet(underlyingValueTypeFacet);
- }
-
-}
+
+public class ValueFacetUsingSemanticsProvider extends ValueFacetAbstract {
+
+ public ValueFacetUsingSemanticsProvider(final ValueSemanticsProvider<?> adapter,
+ final Facet underlyingValueTypeFacet, final ValueSemanticsProviderContext context) {
+ super(adapter, AddFacetsIfInvalidStrategy.DO_ADD, underlyingValueTypeFacet.getFacetHolder(), context);
+
+ // add the adapter in as its own facet (eg StringFacet).
+ // This facet is almost certainly superfluous; there is nothing in the
+ // viewers that needs to get hold of such a facet, for example.
+ FacetUtil.addFacet(underlyingValueTypeFacet);
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderAndFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderAndFacetAbstract.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderAndFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderAndFacetAbstract.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.object.value;
import java.text.DecimalFormat;
@@ -47,9 +46,8 @@ import org.apache.isis.core.metamodel.ru
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.SpecificationLookup;
-
-public abstract class ValueSemanticsProviderAndFacetAbstract<T> extends FacetAbstract implements ValueSemanticsProvider<T>, EncoderDecoder<T>,
- Parser<T>, DefaultsProvider<T> {
+public abstract class ValueSemanticsProviderAndFacetAbstract<T> extends FacetAbstract implements
+ ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProvider<T> {
private final Class<T> adaptedClass;
private final int typicalLength;
@@ -61,27 +59,21 @@ public abstract class ValueSemanticsProv
* Lazily looked up per {@link #getSpecification()}.
*/
private ObjectSpecification specification;
-
- private final IsisConfiguration configuration;
- private final ValueSemanticsProviderContext context;
-
- public ValueSemanticsProviderAndFacetAbstract(
- final Class<? extends Facet> adapterFacetType,
- final FacetHolder holder,
- final Class<T> adaptedClass,
- final int typicalLength,
- final boolean immutable,
- final boolean equalByContent,
- final T defaultValue,
- final IsisConfiguration configuration,
- final ValueSemanticsProviderContext context) {
+
+ private final IsisConfiguration configuration;
+ private final ValueSemanticsProviderContext context;
+
+ public ValueSemanticsProviderAndFacetAbstract(final Class<? extends Facet> adapterFacetType,
+ final FacetHolder holder, final Class<T> adaptedClass, final int typicalLength, final boolean immutable,
+ final boolean equalByContent, final T defaultValue, final IsisConfiguration configuration,
+ final ValueSemanticsProviderContext context) {
super(adapterFacetType, holder, false);
this.adaptedClass = adaptedClass;
this.typicalLength = typicalLength;
this.immutable = immutable;
this.equalByContent = equalByContent;
this.defaultValue = defaultValue;
-
+
this.configuration = configuration;
this.context = context;
}
@@ -93,13 +85,12 @@ public abstract class ValueSemanticsProv
return specification;
}
-
/**
* The underlying class that has been adapted.
*
* <p>
- * Used to determine whether an empty string can be parsed, (for primitive types a non-null entry is
- * required, see {@link #mustHaveEntry()}), and potentially useful for debugging.
+ * Used to determine whether an empty string can be parsed, (for primitive types a non-null entry is required, see
+ * {@link #mustHaveEntry()}), and potentially useful for debugging.
*/
public final Class<T> getAdaptedClass() {
return adaptedClass;
@@ -183,7 +174,7 @@ public abstract class ValueSemanticsProv
}
@Override
- public String displayTitleOf(final Object object, Localization localization) {
+ public String displayTitleOf(final Object object, final Localization localization) {
if (object == null) {
return "";
}
@@ -254,14 +245,12 @@ public abstract class ValueSemanticsProv
* Hook method to perform the actual restoring.
*/
protected abstract T doRestore(String data);
-
-
// ///////////////////////////////////////////////////////////////////////////
// Helper: Locale handling
// ///////////////////////////////////////////////////////////////////////////
- protected NumberFormat determineNumberFormat(String suffix) {
+ protected NumberFormat determineNumberFormat(final String suffix) {
final String formatRequired = getConfiguration().getString(ConfigurationConstants.ROOT + suffix);
if (formatRequired != null) {
return new DecimalFormat(formatRequired);
@@ -271,32 +260,28 @@ public abstract class ValueSemanticsProv
}
private Locale findLocale() {
- final String localeStr = getConfiguration().getString(
- ConfigurationConstants.ROOT + "locale");
+ final String localeStr = getConfiguration().getString(ConfigurationConstants.ROOT + "locale");
- Locale findLocale = LocaleUtils.findLocale(localeStr);
- return findLocale != null? findLocale: Locale.getDefault();
+ final Locale findLocale = LocaleUtils.findLocale(localeStr);
+ return findLocale != null ? findLocale : Locale.getDefault();
}
-
-
- ////////////////////////////////////////////////////////////
+ // //////////////////////////////////////////////////////////
// Helper: createAdapter
- ////////////////////////////////////////////////////////////
+ // //////////////////////////////////////////////////////////
protected ObjectAdapter createAdapter(final Class<?> type, final Object object) {
- final ObjectSpecification specification = getSpecificationLookup().loadSpecification(type);
- if (specification.isNotCollection()) {
- return getAdapterMap().adapterFor(object);
- } else {
- throw new UnknownTypeException("not an object, is this a collection?");
- }
- }
-
+ final ObjectSpecification specification = getSpecificationLookup().loadSpecification(type);
+ if (specification.isNotCollection()) {
+ return getAdapterMap().adapterFor(object);
+ } else {
+ throw new UnknownTypeException("not an object, is this a collection?");
+ }
+ }
- ////////////////////////////////////////////////////////////
+ // //////////////////////////////////////////////////////////
// Dependencies (from constructor)
- ////////////////////////////////////////////////////////////
+ // //////////////////////////////////////////////////////////
protected IsisConfiguration getConfiguration() {
return configuration;
@@ -305,7 +290,7 @@ public abstract class ValueSemanticsProv
protected ValueSemanticsProviderContext getContext() {
return context;
}
-
+
/**
* From {@link #getContext() context.}
*/
@@ -326,16 +311,17 @@ public abstract class ValueSemanticsProv
protected DependencyInjector getDependencyInjector() {
return context.getDependencyInjector();
}
-
+
/**
* From {@link #getContext() context.}
*/
protected AuthenticationSessionProvider getAuthenticationSessionProvider() {
return context.getAuthenticationSessionProvider();
}
- ////////////////////////////////////////////////////////////
+
+ // //////////////////////////////////////////////////////////
// Dependencies (from singleton)
- ////////////////////////////////////////////////////////////
+ // //////////////////////////////////////////////////////////
protected static Clock getClock() {
return Clock.getInstance();
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderContext.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderContext.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderContext.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderContext.java Tue Apr 26 22:03:43 2011
@@ -27,8 +27,9 @@ public class ValueSemanticsProviderConte
private final AdapterMap adapterManager;
private final DependencyInjector dependencyInjector;
- public ValueSemanticsProviderContext(AuthenticationSessionProvider authenticationSessionProvider,
- SpecificationLookup specificationLookup, AdapterMap adapterManager, DependencyInjector dependencyInjector) {
+ public ValueSemanticsProviderContext(final AuthenticationSessionProvider authenticationSessionProvider,
+ final SpecificationLookup specificationLookup, final AdapterMap adapterManager,
+ final DependencyInjector dependencyInjector) {
this.authenticationSessionProvider = authenticationSessionProvider;
this.specificationLookup = specificationLookup;
this.adapterManager = adapterManager;
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderUtil.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderUtil.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderUtil.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderUtil.java Tue Apr 26 22:03:43 2011
@@ -17,35 +17,38 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.object.value;
-package org.apache.isis.core.progmodel.facets.object.value;
-
import org.apache.isis.applib.adapters.ValueSemanticsProvider;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.lang.JavaClassUtils;
import org.apache.isis.core.commons.lang.StringUtils;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-
-public final class ValueSemanticsProviderUtil {
-
- private ValueSemanticsProviderUtil() {}
-
- public static final String SEMANTICS_PROVIDER_NAME_KEY_PREFIX = "isis.core.progmodel.value.";
- public static final String SEMANTICS_PROVIDER_NAME_KEY_SUFFIX = ".semanticsProviderName";
-
- public static String semanticsProviderNameFromConfiguration(final Class<?> type, final IsisConfiguration configuration) {
- final String key = SEMANTICS_PROVIDER_NAME_KEY_PREFIX + type.getCanonicalName() + SEMANTICS_PROVIDER_NAME_KEY_SUFFIX;
- final String semanticsProviderName = configuration.getString(key);
- return !StringUtils.isNullOrEmpty(semanticsProviderName) ? semanticsProviderName : null;
- }
-
- @SuppressWarnings("unchecked")
- public static Class<? extends ValueSemanticsProvider<?>> valueSemanticsProviderOrNull(final Class<?> candidateClass, final String classCandidateName) {
- final Class clazz = candidateClass != null ? JavaClassUtils.implementingClassOrNull(candidateClass.getName(),
- ValueSemanticsProvider.class, FacetHolder.class) : null;
- return clazz != null ? clazz : JavaClassUtils.implementingClassOrNull(classCandidateName, ValueSemanticsProvider.class, FacetHolder.class);
- }
-
-}
-
+
+public final class ValueSemanticsProviderUtil {
+
+ private ValueSemanticsProviderUtil() {
+ }
+
+ public static final String SEMANTICS_PROVIDER_NAME_KEY_PREFIX = "isis.core.progmodel.value.";
+ public static final String SEMANTICS_PROVIDER_NAME_KEY_SUFFIX = ".semanticsProviderName";
+
+ public static String semanticsProviderNameFromConfiguration(final Class<?> type,
+ final IsisConfiguration configuration) {
+ final String key =
+ SEMANTICS_PROVIDER_NAME_KEY_PREFIX + type.getCanonicalName() + SEMANTICS_PROVIDER_NAME_KEY_SUFFIX;
+ final String semanticsProviderName = configuration.getString(key);
+ return !StringUtils.isNullOrEmpty(semanticsProviderName) ? semanticsProviderName : null;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static Class<? extends ValueSemanticsProvider<?>> valueSemanticsProviderOrNull(
+ final Class<?> candidateClass, final String classCandidateName) {
+ final Class clazz =
+ candidateClass != null ? JavaClassUtils.implementingClassOrNull(candidateClass.getName(),
+ ValueSemanticsProvider.class, FacetHolder.class) : null;
+ return clazz != null ? clazz : JavaClassUtils.implementingClassOrNull(classCandidateName,
+ ValueSemanticsProvider.class, FacetHolder.class);
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueUsingValueSemanticsProviderFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueUsingValueSemanticsProviderFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueUsingValueSemanticsProviderFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueUsingValueSemanticsProviderFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.object.value;
-package org.apache.isis.core.progmodel.facets.object.value;
-
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -32,11 +31,10 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.runtimecontext.DependencyInjector;
import org.apache.isis.core.metamodel.runtimecontext.DependencyInjectorAware;
-
-
-public abstract class ValueUsingValueSemanticsProviderFacetFactory<T> extends FacetFactoryAbstract implements
- IsisConfigurationAware, AuthenticationSessionProviderAware, AdapterMapAware, DependencyInjectorAware {
-
+
+public abstract class ValueUsingValueSemanticsProviderFacetFactory<T> extends FacetFactoryAbstract implements
+ IsisConfigurationAware, AuthenticationSessionProviderAware, AdapterMapAware, DependencyInjectorAware {
+
private IsisConfiguration configuration;
private AuthenticationSessionProvider authenticationSessionProvider;
private AdapterMap adapterManager;
@@ -44,50 +42,53 @@ public abstract class ValueUsingValueSem
/**
* Lazily created.
*/
- private ValueSemanticsProviderContext context;
-
- protected ValueUsingValueSemanticsProviderFacetFactory(final Class<? extends Facet> adapterFacetType) {
- super(FeatureType.OBJECTS_ONLY);
- }
-
- protected void addFacets(final ValueSemanticsProviderAndFacetAbstract<T> adapter) {
- ValueFacetUsingSemanticsProvider facet = new ValueFacetUsingSemanticsProvider(adapter, adapter, getContext());
- FacetUtil.addFacet(facet);
+ private ValueSemanticsProviderContext context;
+
+ protected ValueUsingValueSemanticsProviderFacetFactory(final Class<? extends Facet> adapterFacetType) {
+ super(FeatureType.OBJECTS_ONLY);
+ }
+
+ protected void addFacets(final ValueSemanticsProviderAndFacetAbstract<T> adapter) {
+ final ValueFacetUsingSemanticsProvider facet =
+ new ValueFacetUsingSemanticsProvider(adapter, adapter, getContext());
+ FacetUtil.addFacet(facet);
}
- // ////////////////////////////////////////////////////
- // Dependencies (injected via setter)
- // ////////////////////////////////////////////////////
-
+ // ////////////////////////////////////////////////////
+ // Dependencies (injected via setter)
+ // ////////////////////////////////////////////////////
+
public IsisConfiguration getConfiguration() {
return configuration;
}
public ValueSemanticsProviderContext getContext() {
- if(context == null) {
- context = new ValueSemanticsProviderContext(authenticationSessionProvider, getSpecificationLookup(), adapterManager, dependencyInjector);
+ if (context == null) {
+ context =
+ new ValueSemanticsProviderContext(authenticationSessionProvider, getSpecificationLookup(),
+ adapterManager, dependencyInjector);
}
return context;
}
@Override
- public void setIsisConfiguration(IsisConfiguration configuration) {
- this.configuration = configuration;
- }
-
+ public void setIsisConfiguration(final IsisConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
@Override
- public void setAuthenticationSessionProvider(AuthenticationSessionProvider authenticationSessionProvider) {
+ public void setAuthenticationSessionProvider(final AuthenticationSessionProvider authenticationSessionProvider) {
this.authenticationSessionProvider = authenticationSessionProvider;
}
@Override
- public void setAdapterMap(AdapterMap adapterManager) {
+ public void setAdapterMap(final AdapterMap adapterManager) {
this.adapterManager = adapterManager;
}
@Override
- public void setDependencyInjector(DependencyInjector dependencyInjector) {
+ public void setDependencyInjector(final DependencyInjector dependencyInjector) {
this.dependencyInjector = dependencyInjector;
}
-}
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetAnnotation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetAnnotation.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetAnnotation.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetAnnotation.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.object.value.annotation;
-package org.apache.isis.core.progmodel.facets.object.value.annotation;
-
import org.apache.isis.applib.annotation.Value;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.lang.StringUtils;
@@ -27,49 +26,42 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.progmodel.facets.object.value.ValueFacetAbstract;
import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderContext;
import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderUtil;
-
-
-public class ValueFacetAnnotation extends ValueFacetAbstract {
-
- private static String semanticsProviderName(final Class<?> annotatedClass, final IsisConfiguration configuration) {
- final Value annotation = annotatedClass.getAnnotation(Value.class);
- final String semanticsProviderName = annotation.semanticsProviderName();
- if (!StringUtils.isNullOrEmpty(semanticsProviderName)) {
- return semanticsProviderName;
- }
- return ValueSemanticsProviderUtil.semanticsProviderNameFromConfiguration(annotatedClass, configuration);
- }
-
- private static Class<?> semanticsProviderClass(final Class<?> annotatedClass) {
- final Value annotation = annotatedClass.getAnnotation(Value.class);
- return annotation.semanticsProviderClass();
- }
-
- public ValueFacetAnnotation(
- final Class<?> annotatedClass,
- final FacetHolder holder,
- final IsisConfiguration configuration,
- final ValueSemanticsProviderContext context) {
- this(semanticsProviderName(annotatedClass, configuration), semanticsProviderClass(annotatedClass), holder, configuration, context);
- }
-
- private ValueFacetAnnotation(
- final String candidateSemanticsProviderName,
- final Class<?> candidateSemanticsProviderClass,
- final FacetHolder holder,
- final IsisConfiguration configuration,
- final ValueSemanticsProviderContext context) {
- super(ValueSemanticsProviderUtil.valueSemanticsProviderOrNull(candidateSemanticsProviderClass,
- candidateSemanticsProviderName), AddFacetsIfInvalidStrategy.DO_ADD, holder, configuration, context);
- }
-
- /**
- * Always valid, even if the specified semanticsProviderName might have been wrong.
- */
- @Override
- public boolean isValid() {
- return true;
- }
-
-}
-
+
+public class ValueFacetAnnotation extends ValueFacetAbstract {
+
+ private static String semanticsProviderName(final Class<?> annotatedClass, final IsisConfiguration configuration) {
+ final Value annotation = annotatedClass.getAnnotation(Value.class);
+ final String semanticsProviderName = annotation.semanticsProviderName();
+ if (!StringUtils.isNullOrEmpty(semanticsProviderName)) {
+ return semanticsProviderName;
+ }
+ return ValueSemanticsProviderUtil.semanticsProviderNameFromConfiguration(annotatedClass, configuration);
+ }
+
+ private static Class<?> semanticsProviderClass(final Class<?> annotatedClass) {
+ final Value annotation = annotatedClass.getAnnotation(Value.class);
+ return annotation.semanticsProviderClass();
+ }
+
+ public ValueFacetAnnotation(final Class<?> annotatedClass, final FacetHolder holder,
+ final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
+ this(semanticsProviderName(annotatedClass, configuration), semanticsProviderClass(annotatedClass), holder,
+ configuration, context);
+ }
+
+ private ValueFacetAnnotation(final String candidateSemanticsProviderName,
+ final Class<?> candidateSemanticsProviderClass, final FacetHolder holder,
+ final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
+ super(ValueSemanticsProviderUtil.valueSemanticsProviderOrNull(candidateSemanticsProviderClass,
+ candidateSemanticsProviderName), AddFacetsIfInvalidStrategy.DO_ADD, holder, configuration, context);
+ }
+
+ /**
+ * Always valid, even if the specified semanticsProviderName might have been wrong.
+ */
+ @Override
+ public boolean isValid() {
+ return true;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.object.value.annotation;
-package org.apache.isis.core.progmodel.facets.object.value.annotation;
-
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.annotation.Value;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
@@ -46,117 +45,120 @@ import org.apache.isis.core.metamodel.ru
import org.apache.isis.core.progmodel.facets.object.value.ValueFacetFromConfiguration;
import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderContext;
import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderUtil;
-
-
-/**
- * Processes the {@link Value} annotation.
- *
- * <p>
- * As a result, will always install the following facets:
- * <ul>
- * <li> {@link TitleFacet} - based on the <tt>title()</tt> method if present, otherwise uses
- * <tt>toString()</tt></li>
- * <li> {@link IconFacet} - based on the <tt>iconName()</tt> method if present, otherwise derived from the
- * class name</li>
- * </ul>
- * <p>
- * In addition, the following facets may be installed:
- * <ul>
- * <li> {@link ParseableFacet} - if a {@link Parser} has been specified explicitly in the annotation (or is
- * picked up through an external configuration file)</li>
- * <li> {@link EncodableFacet} - if an {@link EncoderDecoder} has been specified explicitly in the annotation
- * (or is picked up through an external configuration file)</li>
- * <li> {@link ImmutableFacet} - if specified explicitly in the annotation
- * <li> {@link EqualByContentFacet} - if specified explicitly in the annotation
- * </ul>
- * <p>
- * Note that {@link AggregatedFacet} is <i>not</i> installed.
- */
-public class ValueFacetFactory extends AnnotationBasedFacetFactoryAbstract implements IsisConfigurationAware, AuthenticationSessionProviderAware, AdapterMapAware, DependencyInjectorAware {
-
-
- private IsisConfiguration configuration;
- private AuthenticationSessionProvider authenticationSessionProvider;
- private AdapterMap adapterManager;
- private DependencyInjector dependencyInjector;
-
-
- public ValueFacetFactory() {
- super(FeatureType.OBJECTS_ONLY);
- }
-
- @Override
- public void process(ProcessClassContext processClassContaxt) {
- FacetUtil.addFacet(create(processClassContaxt.getCls(), processClassContaxt.getFacetHolder()));
- }
-
- /**
- * Returns a {@link ValueFacet} implementation.
- */
- private ValueFacet create(final Class<?> cls, final FacetHolder holder) {
-
- // create from annotation, if present
- final Value annotation = getAnnotation(cls, Value.class);
+
+/**
+ * Processes the {@link Value} annotation.
+ *
+ * <p>
+ * As a result, will always install the following facets:
+ * <ul>
+ * <li> {@link TitleFacet} - based on the <tt>title()</tt> method if present, otherwise uses <tt>toString()</tt></li>
+ * <li> {@link IconFacet} - based on the <tt>iconName()</tt> method if present, otherwise derived from the class name</li>
+ * </ul>
+ * <p>
+ * In addition, the following facets may be installed:
+ * <ul>
+ * <li> {@link ParseableFacet} - if a {@link Parser} has been specified explicitly in the annotation (or is picked up
+ * through an external configuration file)</li>
+ * <li> {@link EncodableFacet} - if an {@link EncoderDecoder} has been specified explicitly in the annotation (or is
+ * picked up through an external configuration file)</li>
+ * <li> {@link ImmutableFacet} - if specified explicitly in the annotation
+ * <li> {@link EqualByContentFacet} - if specified explicitly in the annotation
+ * </ul>
+ * <p>
+ * Note that {@link AggregatedFacet} is <i>not</i> installed.
+ */
+public class ValueFacetFactory extends AnnotationBasedFacetFactoryAbstract implements IsisConfigurationAware,
+ AuthenticationSessionProviderAware, AdapterMapAware, DependencyInjectorAware {
+
+ private IsisConfiguration configuration;
+ private AuthenticationSessionProvider authenticationSessionProvider;
+ private AdapterMap adapterManager;
+ private DependencyInjector dependencyInjector;
+
+ public ValueFacetFactory() {
+ super(FeatureType.OBJECTS_ONLY);
+ }
+
+ @Override
+ public void process(final ProcessClassContext processClassContaxt) {
+ FacetUtil.addFacet(create(processClassContaxt.getCls(), processClassContaxt.getFacetHolder()));
+ }
+
+ /**
+ * Returns a {@link ValueFacet} implementation.
+ */
+ private ValueFacet create(final Class<?> cls, final FacetHolder holder) {
+
+ // create from annotation, if present
+ final Value annotation = getAnnotation(cls, Value.class);
if (annotation != null) {
- final ValueFacetAnnotation facet = new ValueFacetAnnotation(cls, holder, getIsisConfiguration(), createValueSemanticsProviderContext());
- if (facet.isValid()) {
- return facet;
- }
- }
-
- // otherwise, try to create from configuration, if present
- final String semanticsProviderName = ValueSemanticsProviderUtil.semanticsProviderNameFromConfiguration(cls,
- configuration);
- if (!StringUtils.isNullOrEmpty(semanticsProviderName)) {
- final ValueFacetFromConfiguration facet = new ValueFacetFromConfiguration(semanticsProviderName, holder, getIsisConfiguration(), createValueSemanticsProviderContext());
- if (facet.isValid()) {
- return facet;
- }
- }
-
- // otherwise, no value semantic
- return null;
+ final ValueFacetAnnotation facet =
+ new ValueFacetAnnotation(cls, holder, getIsisConfiguration(), createValueSemanticsProviderContext());
+ if (facet.isValid()) {
+ return facet;
+ }
+ }
+
+ // otherwise, try to create from configuration, if present
+ final String semanticsProviderName =
+ ValueSemanticsProviderUtil.semanticsProviderNameFromConfiguration(cls, configuration);
+ if (!StringUtils.isNullOrEmpty(semanticsProviderName)) {
+ final ValueFacetFromConfiguration facet =
+ new ValueFacetFromConfiguration(semanticsProviderName, holder, getIsisConfiguration(),
+ createValueSemanticsProviderContext());
+ if (facet.isValid()) {
+ return facet;
+ }
+ }
+
+ // otherwise, no value semantic
+ return null;
}
protected ValueSemanticsProviderContext createValueSemanticsProviderContext() {
- return new ValueSemanticsProviderContext(getAuthenticationSessionProvider(), getSpecificationLookup(), getAdapterManager(), getDependencyInjector());
- }
-
- // ////////////////////////////////////////////////////////////////////
- // Injected
- // ////////////////////////////////////////////////////////////////////
-
- public IsisConfiguration getIsisConfiguration() {
- return configuration;
- }
- @Override
- public void setIsisConfiguration(final IsisConfiguration configuration) {
- this.configuration = configuration;
- }
+ return new ValueSemanticsProviderContext(getAuthenticationSessionProvider(), getSpecificationLookup(),
+ getAdapterManager(), getDependencyInjector());
+ }
+
+ // ////////////////////////////////////////////////////////////////////
+ // Injected
+ // ////////////////////////////////////////////////////////////////////
+
+ public IsisConfiguration getIsisConfiguration() {
+ return configuration;
+ }
+ @Override
+ public void setIsisConfiguration(final IsisConfiguration configuration) {
+ this.configuration = configuration;
+ }
public AuthenticationSessionProvider getAuthenticationSessionProvider() {
return authenticationSessionProvider;
}
+
@Override
- public void setAuthenticationSessionProvider(AuthenticationSessionProvider authenticationSessionProvider) {
+ public void setAuthenticationSessionProvider(final AuthenticationSessionProvider authenticationSessionProvider) {
this.authenticationSessionProvider = authenticationSessionProvider;
- }
+ }
public AdapterMap getAdapterManager() {
return adapterManager;
}
+
@Override
- public void setAdapterMap(AdapterMap adapterManager) {
+ public void setAdapterMap(final AdapterMap adapterManager) {
this.adapterManager = adapterManager;
}
public DependencyInjector getDependencyInjector() {
return dependencyInjector;
}
+
@Override
- public void setDependencyInjector(DependencyInjector dependencyInjector) {
+ public void setDependencyInjector(final DependencyInjector dependencyInjector) {
this.dependencyInjector = dependencyInjector;
- }
-
-}
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetAbstract.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetAbstract.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.param.choices;
-package org.apache.isis.core.progmodel.facets.param.choices;
-
import org.apache.isis.core.metamodel.adapter.map.AdapterMap;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
@@ -27,41 +26,37 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.param.choices.ActionParameterChoicesFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.SpecificationLookup;
-
-
-public abstract class ActionParameterChoicesFacetAbstract extends FacetAbstract implements ActionParameterChoicesFacet {
-
- public static Class<? extends Facet> type() {
- return ActionParameterChoicesFacet.class;
+
+public abstract class ActionParameterChoicesFacetAbstract extends FacetAbstract implements ActionParameterChoicesFacet {
+
+ public static Class<? extends Facet> type() {
+ return ActionParameterChoicesFacet.class;
}
private final SpecificationLookup specificationLookup;
- private final AdapterMap adapterMap;
-
- public ActionParameterChoicesFacetAbstract(
- final FacetHolder holder, final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
+ private final AdapterMap adapterMap;
+
+ public ActionParameterChoicesFacetAbstract(final FacetHolder holder, final SpecificationLookup specificationLookup,
+ final AdapterMap adapterManager) {
super(type(), holder, false);
this.specificationLookup = specificationLookup;
- this.adapterMap = adapterManager;
+ this.adapterMap = adapterManager;
}
- protected ObjectSpecification getSpecification(Class<?> type) {
- return type != null? getSpecificationLookup().loadSpecification(type): null;
+ protected ObjectSpecification getSpecification(final Class<?> type) {
+ return type != null ? getSpecificationLookup().loadSpecification(type) : null;
}
-
-
- ///////////////////////////////////////////////////////////
+
+ // /////////////////////////////////////////////////////////
// Dependencies
- ///////////////////////////////////////////////////////////
-
+ // /////////////////////////////////////////////////////////
+
protected SpecificationLookup getSpecificationLookup() {
return specificationLookup;
}
-
+
protected AdapterMap getAdapterMap() {
return adapterMap;
}
-
-}
-
-
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetNone.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetNone.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/ActionParameterChoicesFacetNone.java Tue Apr 26 22:03:43 2011
@@ -17,32 +17,28 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.param.choices;
-package org.apache.isis.core.progmodel.facets.param.choices;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.map.AdapterMap;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.spec.SpecificationLookup;
-
-
-public class ActionParameterChoicesFacetNone extends ActionParameterChoicesFacetAbstract {
-
- public ActionParameterChoicesFacetNone(final FacetHolder holder, final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
- super(holder, specificationLookup, adapterManager);
- }
-
+
+public class ActionParameterChoicesFacetNone extends ActionParameterChoicesFacetAbstract {
+
+ public ActionParameterChoicesFacetNone(final FacetHolder holder, final SpecificationLookup specificationLookup,
+ final AdapterMap adapterManager) {
+ super(holder, specificationLookup, adapterManager);
+ }
+
@Override
- public Object[] getChoices(final ObjectAdapter inObject) {
- return new ObjectAdapter[0];
- }
-
- @Override
- public boolean isNoop() {
- return true;
- }
-
-}
-
-
-
+ public Object[] getChoices(final ObjectAdapter inObject) {
+ return new ObjectAdapter[0];
+ }
+
+ @Override
+ public boolean isNoop() {
+ return true;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java Tue Apr 26 22:03:43 2011
@@ -30,19 +30,20 @@ import org.apache.isis.core.progmodel.fa
public class ActionParameterChoicesFacetDerivedFromChoicesFacet extends ActionParameterChoicesFacetAbstract {
- public ActionParameterChoicesFacetDerivedFromChoicesFacet(FacetHolder holder,
+ public ActionParameterChoicesFacetDerivedFromChoicesFacet(final FacetHolder holder,
final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
super(holder, specificationLookup, adapterManager);
}
@Override
- public Object[] getChoices(ObjectAdapter adapter) {
- FacetHolder facetHolder = getFacetHolder();
- TypedHolder paramPeer = (TypedHolder) facetHolder;
- ObjectSpecification noSpec = getSpecification(paramPeer.getType());
- ChoicesFacet choicesFacet = noSpec.getFacet(ChoicesFacet.class);
- if (choicesFacet == null)
+ public Object[] getChoices(final ObjectAdapter adapter) {
+ final FacetHolder facetHolder = getFacetHolder();
+ final TypedHolder paramPeer = (TypedHolder) facetHolder;
+ final ObjectSpecification noSpec = getSpecification(paramPeer.getType());
+ final ChoicesFacet choicesFacet = noSpec.getFacet(ChoicesFacet.class);
+ if (choicesFacet == null) {
return new Object[0];
+ }
return choicesFacet.getChoices(adapter);
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/enums/ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,18 +17,16 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.param.choices.enums;
-
import org.apache.isis.core.metamodel.adapter.map.AdapterMap;
import org.apache.isis.core.metamodel.adapter.map.AdapterMapAware;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-public class ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory extends
- FacetFactoryAbstract implements AdapterMapAware {
+public class ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory extends FacetFactoryAbstract implements
+ AdapterMapAware {
private AdapterMap adapterMap;
@@ -37,27 +35,28 @@ public class ParameterChoicesFacetDerive
}
@Override
- public void processParams(ProcessParameterContext processParameterContext) {
- Class<?> paramType = processParameterContext.getMethod().getParameterTypes()[processParameterContext.getParamNum()];
-
+ public void processParams(final ProcessParameterContext processParameterContext) {
+ final Class<?> paramType =
+ processParameterContext.getMethod().getParameterTypes()[processParameterContext.getParamNum()];
+
if (!paramType.isEnum()) {
return;
}
-
- FacetUtil.addFacet(new ActionParameterChoicesFacetDerivedFromChoicesFacet(processParameterContext.getFacetHolder(), getSpecificationLookup(), getAdapterMap()));
- }
+ FacetUtil.addFacet(new ActionParameterChoicesFacetDerivedFromChoicesFacet(processParameterContext
+ .getFacetHolder(), getSpecificationLookup(), getAdapterMap()));
+ }
- ///////////////////////////////////////////////
+ // /////////////////////////////////////////////
// Injected
- ///////////////////////////////////////////////
+ // /////////////////////////////////////////////
protected AdapterMap getAdapterMap() {
return adapterMap;
}
-
+
@Override
- public void setAdapterMap(AdapterMap adapterMap) {
+ public void setAdapterMap(final AdapterMap adapterMap) {
this.adapterMap = adapterMap;
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -52,7 +52,7 @@ public class ActionChoicesFacetFactory e
// ///////////////////////////////////////////////////////
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
attachActionChoicesFacetIfParameterChoicesMethodIsFound(processMethodContext);
}
@@ -64,7 +64,7 @@ public class ActionChoicesFacetFactory e
if (actionParamTypes.length <= 0) {
return;
}
-
+
Method choicesMethod = null;
if (choicesMethod == null) {
choicesMethod = findChoicesMethodReturning(processMethodContext, Object[][].class);
@@ -91,25 +91,23 @@ public class ActionChoicesFacetFactory e
protected Method findChoicesMethodReturning(final ProcessMethodContext processMethodContext,
final Class<?> returnType2) {
Method choicesMethod;
- Class<?> cls = processMethodContext.getCls();
+ final Class<?> cls = processMethodContext.getCls();
final Method actionMethod = processMethodContext.getMethod();
final MethodScope methodScope = MethodScope.scopeFor(actionMethod);
final String capitalizedName = NameUtils.capitalizeName(actionMethod.getName());
- String name = MethodPrefixConstants.CHOICES_PREFIX + capitalizedName;
- choicesMethod =
- MethodFinderUtils.findMethod(cls, methodScope, name, returnType2, new Class[0]);
+ final String name = MethodPrefixConstants.CHOICES_PREFIX + capitalizedName;
+ choicesMethod = MethodFinderUtils.findMethod(cls, methodScope, name, returnType2, new Class[0]);
return choicesMethod;
}
-
// ///////////////////////////////////////////////////////////////
// Dependencies
// ///////////////////////////////////////////////////////////////
@Override
- public void setAdapterMap(AdapterMap adapterMap) {
+ public void setAdapterMap(final AdapterMap adapterMap) {
this.adapterMap = adapterMap;
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java Tue Apr 26 22:03:43 2011
@@ -71,7 +71,7 @@ public class ActionChoicesFacetViaMethod
@Override
public Object[][] getChoices(final ObjectAdapter owningAdapter) {
- Object invoke = AdapterInvokeUtils.invoke(method, owningAdapter);
+ final Object invoke = AdapterInvokeUtils.invoke(method, owningAdapter);
if (!(invoke instanceof Object[])) {
throw new DomainModelException(
"Expected an array of collections (Object[]) containing choices for all parameters, but got " + invoke
@@ -86,8 +86,7 @@ public class ActionChoicesFacetViaMethod
results[i] = ArrayUtil.getObjectAsObjectArray(options[i]);
} else {
final ObjectSpecification specification = getSpecificationLookup().loadSpecification(choicesType);
- results[i] =
- CollectionUtils.getCollectionAsObjectArray(options[i], specification, getAdapterMap());
+ results[i] = CollectionUtils.getCollectionAsObjectArray(options[i], specification, getAdapterMap());
}
}
return results;
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -41,10 +41,10 @@ import org.apache.isis.core.progmodel.fa
/**
* Sets up all the {@link Facet}s for an action in a single shot.
*/
-public class ActionParameterChoicesFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements AdapterMapAware {
+public class ActionParameterChoicesFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements
+ AdapterMapAware {
-
- private static final String[] PREFIXES = { };
+ private static final String[] PREFIXES = {};
private AdapterMap adapterMap;
@@ -60,7 +60,7 @@ public class ActionParameterChoicesFacet
// ///////////////////////////////////////////////////////
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
final FacetedMethod facetedMethod = processMethodContext.getFacetHolder();
final List<FacetedMethodParameter> holderList = facetedMethod.getParameters();
@@ -80,7 +80,7 @@ public class ActionParameterChoicesFacet
final Class<?>[] params = actionMethod.getParameterTypes();
for (int i = 0; i < params.length; i++) {
-
+
final Class<?> arrayOfParamType = (Array.newInstance(params[i], 0)).getClass();
Method choicesMethod = findChoicesNumMethodReturning(processMethodContext, i, arrayOfParamType);
@@ -94,9 +94,8 @@ public class ActionParameterChoicesFacet
final FacetedMethod facetedMethod = processMethodContext.getFacetHolder();
if (facetedMethod.containsDoOpFacet(ActionChoicesFacet.class)) {
- Class<?> cls = processMethodContext.getCls();
- throw new MetaModelException(cls
- + " uses both old and new choices syntax - must use one or other");
+ final Class<?> cls = processMethodContext.getCls();
+ throw new MetaModelException(cls + " uses both old and new choices syntax - must use one or other");
}
// add facets directly to parameters, not to actions
@@ -106,23 +105,22 @@ public class ActionParameterChoicesFacet
}
}
- private Method findChoicesNumMethodReturning(final ProcessMethodContext processMethodContext, int i,
+ private Method findChoicesNumMethodReturning(final ProcessMethodContext processMethodContext, final int i,
final Class<?> arrayOfParamType) {
-
- Class<?> cls = processMethodContext.getCls();
+
+ final Class<?> cls = processMethodContext.getCls();
final Method actionMethod = processMethodContext.getMethod();
final String capitalizedName = NameUtils.capitalizeName(actionMethod.getName());
- String name = MethodPrefixConstants.CHOICES_PREFIX + i + capitalizedName;
+ final String name = MethodPrefixConstants.CHOICES_PREFIX + i + capitalizedName;
return MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, name, arrayOfParamType, new Class[0]);
}
-
// ///////////////////////////////////////////////////////////////
// Dependencies
// ///////////////////////////////////////////////////////////////
@Override
- public void setAdapterMap(AdapterMap adapterMap) {
+ public void setAdapterMap(final AdapterMap adapterMap) {
this.adapterMap = adapterMap;
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.param.choices.methodnum;
import java.lang.reflect.Method;
@@ -35,42 +34,36 @@ import org.apache.isis.core.metamodel.sp
import org.apache.isis.core.progmodel.facets.CollectionUtils;
import org.apache.isis.core.progmodel.facets.param.choices.ActionParameterChoicesFacetAbstract;
-
-
-public class ActionParameterChoicesFacetViaMethod extends ActionParameterChoicesFacetAbstract implements ImperativeFacet {
+public class ActionParameterChoicesFacetViaMethod extends ActionParameterChoicesFacetAbstract implements
+ ImperativeFacet {
private final Method method;
private final Class<?> choicesType;
- public ActionParameterChoicesFacetViaMethod(
- final Method method,
- final Class<?> choicesType,
- final FacetHolder holder,
- final SpecificationLookup specificationLookup,
- final AdapterMap adapterManager) {
+ public ActionParameterChoicesFacetViaMethod(final Method method, final Class<?> choicesType,
+ final FacetHolder holder, final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
super(holder, specificationLookup, adapterManager);
this.method = method;
this.choicesType = choicesType;
}
/**
- * Returns a singleton list of the {@link Method} provided in the constructor.
+ * Returns a singleton list of the {@link Method} provided in the constructor.
*/
@Override
public List<Method> getMethods() {
- return Collections.singletonList(method);
+ return Collections.singletonList(method);
}
- @Override
+ @Override
public boolean impliesResolve() {
- return true;
- }
+ return true;
+ }
- @Override
+ @Override
public boolean impliesObjectChanged() {
- return false;
- }
-
+ return false;
+ }
@Override
public Object[] getChoices(final ObjectAdapter owningAdapter) {
@@ -80,19 +73,15 @@ public class ActionParameterChoicesFacet
}
if (options.getClass().isArray()) {
return ArrayUtil.getObjectAsObjectArray(options);
- }
- else {
+ } else {
final ObjectSpecification specification = getSpecification(choicesType);
return CollectionUtils.getCollectionAsObjectArray(options, specification, getAdapterMap());
}
}
- @Override
+ @Override
protected String toStringValues() {
return "method=" + method + ",type=" + choicesType;
}
}
-
-
-
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java Tue Apr 26 22:03:43 2011
@@ -17,24 +17,22 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.param.defaults;
-package org.apache.isis.core.progmodel.facets.param.defaults;
-
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.param.defaults.ActionParameterDefaultsFacet;
-
-
-public abstract class ActionParameterDefaultsFacetAbstract extends FacetAbstract implements ActionParameterDefaultsFacet {
-
- public static Class<? extends Facet> type() {
- return ActionParameterDefaultsFacet.class;
- }
-
- public ActionParameterDefaultsFacetAbstract(final FacetHolder holder) {
- super(type(), holder, false);
- }
-
-}
-
+
+public abstract class ActionParameterDefaultsFacetAbstract extends FacetAbstract implements
+ ActionParameterDefaultsFacet {
+
+ public static Class<? extends Facet> type() {
+ return ActionParameterDefaultsFacet.class;
+ }
+
+ public ActionParameterDefaultsFacetAbstract(final FacetHolder holder) {
+ super(type(), holder, false);
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetNone.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetNone.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/ActionParameterDefaultsFacetNone.java Tue Apr 26 22:03:43 2011
@@ -17,27 +17,25 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.param.defaults;
-package org.apache.isis.core.progmodel.facets.param.defaults;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-
-public class ActionParameterDefaultsFacetNone extends ActionParameterDefaultsFacetAbstract {
-
- public ActionParameterDefaultsFacetNone(final FacetHolder holder) {
- super(holder);
- }
-
- public Object getDefault(final ObjectAdapter inObject) {
- return null;
- }
-
- @Override
- public boolean isNoop() {
- return true;
- }
-
-}
-
+
+public class ActionParameterDefaultsFacetNone extends ActionParameterDefaultsFacetAbstract {
+
+ public ActionParameterDefaultsFacetNone(final FacetHolder holder) {
+ super(holder);
+ }
+
+ @Override
+ public Object getDefault(final ObjectAdapter inObject) {
+ return null;
+ }
+
+ @Override
+ public boolean isNoop() {
+ return true;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java Tue Apr 26 22:03:43 2011
@@ -17,39 +17,38 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.param.defaults.fromtype;
-package org.apache.isis.core.progmodel.facets.param.defaults.fromtype;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
import org.apache.isis.core.progmodel.facets.object.defaults.DefaultedFacet;
-
-
-public class ActionParameterDefaultFacetDerivedFromTypeFacets extends ActionDefaultsFacetAbstract {
-
- private final DefaultedFacet[] defaultedFacets;
-
- public ActionParameterDefaultFacetDerivedFromTypeFacets(final DefaultedFacet[] defaultedFacets, final FacetHolder holder) {
- super(holder, true);
- this.defaultedFacets = defaultedFacets;
- }
-
- /**
- * Return the defaults.
- *
- * <p>
- * Note that we get the defaults fresh each time in case the defaults might conceivably change.
- */
- public Object[] getDefaults(final ObjectAdapter inObject) {
- final Object[] defaults = new Object[defaultedFacets.length];
- for (int i = 0; i < defaults.length; i++) {
- if (defaultedFacets[i] != null) {
- defaults[i] = defaultedFacets[i].getDefault();
- }
- }
- return defaults;
- }
-
-}
-
+
+public class ActionParameterDefaultFacetDerivedFromTypeFacets extends ActionDefaultsFacetAbstract {
+
+ private final DefaultedFacet[] defaultedFacets;
+
+ public ActionParameterDefaultFacetDerivedFromTypeFacets(final DefaultedFacet[] defaultedFacets,
+ final FacetHolder holder) {
+ super(holder, true);
+ this.defaultedFacets = defaultedFacets;
+ }
+
+ /**
+ * Return the defaults.
+ *
+ * <p>
+ * Note that we get the defaults fresh each time in case the defaults might conceivably change.
+ */
+ @Override
+ public Object[] getDefaults(final ObjectAdapter inObject) {
+ final Object[] defaults = new Object[defaultedFacets.length];
+ for (int i = 0; i < defaults.length; i++) {
+ if (defaultedFacets[i] != null) {
+ defaults[i] = defaultedFacets[i].getDefault();
+ }
+ }
+ return defaults;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ParameterDefaultDerivedFromTypeFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ParameterDefaultDerivedFromTypeFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ParameterDefaultDerivedFromTypeFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/fromtype/ParameterDefaultDerivedFromTypeFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,7 @@
* under the License.
*/
-
-package org.apache.isis.core.progmodel.facets.param.defaults.fromtype;
-
+package org.apache.isis.core.progmodel.facets.param.defaults.fromtype;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -27,44 +25,42 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.progmodel.facets.object.defaults.DefaultedFacet;
-
-
-public class ParameterDefaultDerivedFromTypeFacetFactory extends AnnotationBasedFacetFactoryAbstract {
-
- public ParameterDefaultDerivedFromTypeFacetFactory() {
- super(FeatureType.PARAMETERS_ONLY);
- }
-
-
- /**
- * If there is a {@link DefaultedFacet} on any of the action's parameter types, then installs a
- * {@link ActionDefaultsFacet} for the action.
- */
- @Override
- public void processParams(ProcessParameterContext processParameterContext) {
- // don't overwrite any defaults already picked up
- if (processParameterContext.getFacetHolder().getFacet(ActionDefaultsFacet.class) != null) {
- return;
- }
-
- // try to infer defaults from any of the parameter's underlying types
- final Class<?>[] parameterTypes = processParameterContext.getMethod().getParameterTypes();
- final DefaultedFacet[] parameterTypeDefaultedFacets = new DefaultedFacet[parameterTypes.length];
- boolean hasAtLeastOneDefault = false;
- for (int i = 0; i < parameterTypes.length; i++) {
- final Class<?> paramType = parameterTypes[i];
- parameterTypeDefaultedFacets[i] = getDefaultedFacet(paramType);
- hasAtLeastOneDefault = hasAtLeastOneDefault | (parameterTypeDefaultedFacets[i] != null);
- }
- if (hasAtLeastOneDefault) {
- FacetUtil.addFacet(new ActionParameterDefaultFacetDerivedFromTypeFacets(parameterTypeDefaultedFacets, processParameterContext.getFacetHolder()));
- }
- }
-
- private DefaultedFacet getDefaultedFacet(final Class<?> paramType) {
- final ObjectSpecification paramTypeSpec =
- getSpecificationLookup().loadSpecification(paramType);
- return paramTypeSpec.getFacet(DefaultedFacet.class);
- }
-
-}
+
+public class ParameterDefaultDerivedFromTypeFacetFactory extends AnnotationBasedFacetFactoryAbstract {
+
+ public ParameterDefaultDerivedFromTypeFacetFactory() {
+ super(FeatureType.PARAMETERS_ONLY);
+ }
+
+ /**
+ * If there is a {@link DefaultedFacet} on any of the action's parameter types, then installs a
+ * {@link ActionDefaultsFacet} for the action.
+ */
+ @Override
+ public void processParams(final ProcessParameterContext processParameterContext) {
+ // don't overwrite any defaults already picked up
+ if (processParameterContext.getFacetHolder().getFacet(ActionDefaultsFacet.class) != null) {
+ return;
+ }
+
+ // try to infer defaults from any of the parameter's underlying types
+ final Class<?>[] parameterTypes = processParameterContext.getMethod().getParameterTypes();
+ final DefaultedFacet[] parameterTypeDefaultedFacets = new DefaultedFacet[parameterTypes.length];
+ boolean hasAtLeastOneDefault = false;
+ for (int i = 0; i < parameterTypes.length; i++) {
+ final Class<?> paramType = parameterTypes[i];
+ parameterTypeDefaultedFacets[i] = getDefaultedFacet(paramType);
+ hasAtLeastOneDefault = hasAtLeastOneDefault | (parameterTypeDefaultedFacets[i] != null);
+ }
+ if (hasAtLeastOneDefault) {
+ FacetUtil.addFacet(new ActionParameterDefaultFacetDerivedFromTypeFacets(parameterTypeDefaultedFacets,
+ processParameterContext.getFacetHolder()));
+ }
+ }
+
+ private DefaultedFacet getDefaultedFacet(final Class<?> paramType) {
+ final ObjectSpecification paramTypeSpec = getSpecificationLookup().loadSpecification(paramType);
+ return paramTypeSpec.getFacet(DefaultedFacet.class);
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -40,10 +40,10 @@ import org.apache.isis.core.progmodel.fa
/**
* Sets up all the {@link Facet}s for an action in a single shot.
*/
-public class ActionParameterDefaultsFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements AdapterMapAware {
+public class ActionParameterDefaultsFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements
+ AdapterMapAware {
-
- private static final String[] PREFIXES = { };
+ private static final String[] PREFIXES = {};
private AdapterMap adapterMap;
@@ -59,7 +59,7 @@ public class ActionParameterDefaultsFace
// ///////////////////////////////////////////////////////
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
final FacetedMethod facetedMethod = processMethodContext.getFacetHolder();
final List<FacetedMethodParameter> holderList = facetedMethod.getParameters();
@@ -93,8 +93,8 @@ public class ActionParameterDefaultsFace
final FacetedMethod facetedMethod = processMethodContext.getFacetHolder();
if (facetedMethod.containsDoOpFacet(ActionDefaultsFacet.class)) {
- throw new MetaModelException(cls
- + " uses both old and new default syntax for " + actionMethod.getName() + "(...) - must use one or other");
+ throw new MetaModelException(cls + " uses both old and new default syntax for "
+ + actionMethod.getName() + "(...) - must use one or other");
}
// add facets directly to parameters, not to actions
@@ -103,13 +103,12 @@ public class ActionParameterDefaultsFace
}
}
-
// ///////////////////////////////////////////////////////////////
// Dependencies
// ///////////////////////////////////////////////////////////////
@Override
- public void setAdapterMap(AdapterMap adapterMap) {
+ public void setAdapterMap(final AdapterMap adapterMap) {
this.adapterMap = adapterMap;
}