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"));
     }