You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ke...@apache.org on 2011/10/10 20:35:36 UTC
svn commit: r1181120 - in /incubator/isis/trunk/framework/core/metamodel/src:
main/java/org/apache/isis/core/metamodel/specloader/specimpl/
test/java/org/apache/isis/core/metamodel/specloader/specimpl/
Author: kevin
Date: Mon Oct 10 18:35:36 2011
New Revision: 1181120
URL: http://svn.apache.org/viewvc?rev=1181120&view=rev
Log:
ISIS-123: Allowing only one (or at least, not all) action parameters to have a @Named annotation / facet.
Modified:
incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getName.java
Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java?rev=1181120&r1=1181119&r2=1181120&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java Mon Oct 10 18:35:36 2011
@@ -22,6 +22,8 @@ package org.apache.isis.core.metamodel.s
import java.util.ArrayList;
import java.util.List;
+import com.google.common.collect.Lists;
+
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.applib.query.Query;
@@ -51,8 +53,6 @@ import org.apache.isis.core.metamodel.sp
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
-import com.google.common.collect.Lists;
-
public abstract class ObjectActionParameterAbstract implements ObjectActionParameter {
private final int number;
@@ -108,7 +108,7 @@ public abstract class ObjectActionParame
@Override
public String getName() {
final NamedFacet facet = getFacet(NamedFacet.class);
- if(facet != null) {
+ if (facet != null && facet.value() != null) {
return StringUtils.camelLowerFirst(facet.value());
}
String name = getSpecification().getSingularName();
@@ -119,7 +119,7 @@ public abstract class ObjectActionParame
return t.getSpecification() == getSpecification();
}
});
- if(parameters.size() == 1) {
+ if (parameters.size() == 1) {
return StringUtils.camelLowerFirst(name);
}
int indexOf = parameters.indexOf(this);
Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getName.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getName.java?rev=1181120&r1=1181119&r2=1181120&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getName.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getName.java Mon Oct 10 18:35:36 2011
@@ -22,15 +22,8 @@ package org.apache.isis.core.metamodel.s
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.TypedHolder;
-import org.apache.isis.core.metamodel.facets.named.NamedFacet;
-import org.apache.isis.core.metamodel.spec.Instance;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
-import org.hamcrest.Matchers;
+import com.google.common.collect.Lists;
+
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.jmock.integration.junit4.JMock;
@@ -40,7 +33,14 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import com.google.common.collect.Lists;
+import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.TypedHolder;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
+import org.apache.isis.core.metamodel.spec.Instance;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
@RunWith(JMock.class)
public class ObjectActionParameterAbstractTest_getName {
@@ -49,37 +49,39 @@ public class ObjectActionParameterAbstra
private ObjectActionParameterAbstractToTest(int number, ObjectActionImpl objectAction, TypedHolder peer) {
super(number, objectAction, peer);
}
-
+
private ObjectSpecification objectSpec;
-
+
@Override
public ObjectAdapter get(ObjectAdapter owner) {
return null;
}
+
@Override
public Instance getInstance(ObjectAdapter adapter) {
return null;
}
+
@Override
public FeatureType getFeatureType() {
return null;
}
+
@Override
public String isValid(ObjectAdapter adapter, Object proposedValue) {
return null;
}
-
+
@Override
public ObjectSpecification getSpecification() {
return objectSpec;
}
-
+
public void setSpecification(ObjectSpecification objectSpec) {
this.objectSpec = objectSpec;
}
}
-
private ObjectActionParameterAbstractToTest objectActionParameter;
private ObjectActionParameter stubObjectActionParameterString;
private ObjectActionParameter stubObjectActionParameterString2;
@@ -101,7 +103,7 @@ public class ObjectActionParameterAbstra
parentAction = context.mock(ObjectActionImpl.class);
actionParamPeer = context.mock(TypedHolder.class);
namedFacet = context.mock(NamedFacet.class);
-
+
stubSpecForString = context.mock(ObjectSpecification.class, "specForString");
context.checking(new Expectations() {
{
@@ -109,7 +111,7 @@ public class ObjectActionParameterAbstra
will(returnValue("string"));
}
});
-
+
stubObjectActionParameterString = context.mock(ObjectActionParameter.class, "actionParamString");
context.checking(new Expectations() {
{
@@ -128,7 +130,6 @@ public class ObjectActionParameterAbstra
}
-
@Test
public void whenNamedFacetPresent() throws Exception {
@@ -138,12 +139,12 @@ public class ObjectActionParameterAbstra
{
one(actionParamPeer).getFacet(NamedFacet.class);
will(returnValue(namedFacet));
-
- one(namedFacet).value();
+
+ atLeast(1).of(namedFacet).value();
will(returnValue("Some parameter name"));
}
});
-
+
assertThat(objectActionParameter.getName(), is("someParameterName"));
}
@@ -158,12 +159,12 @@ public class ObjectActionParameterAbstra
{
one(actionParamPeer).getFacet(NamedFacet.class);
will(returnValue(null));
-
+
one(parentAction).getParameters((Filter<ObjectActionParameter>) with(anything()));
will(returnValue(Lists.newArrayList(objectActionParameter)));
}
});
-
+
assertThat(objectActionParameter.getName(), is("string"));
}
@@ -177,12 +178,13 @@ public class ObjectActionParameterAbstra
{
one(actionParamPeer).getFacet(NamedFacet.class);
will(returnValue(null));
-
+
one(parentAction).getParameters((Filter<ObjectActionParameter>) with(anything()));
- will(returnValue(Lists.newArrayList(stubObjectActionParameterString, objectActionParameter, stubObjectActionParameterString2)));
+ will(returnValue(Lists.newArrayList(stubObjectActionParameterString, objectActionParameter,
+ stubObjectActionParameterString2)));
}
});
-
+
assertThat(objectActionParameter.getName(), is("string1"));
}