I've spent some time working through this and have tested what I can. I've even built another component using the new core.

I have unfortunately come across a bit of a problem that prevents one of my applications from running. It due to the new model validation, which balks at methods that have parameters, while parameterless ones are fine. In particular it is the hide and disable methods that caused the problems. I have included a patch that resolves the problem.

The fact that it causes the application to not run, rather than issue a warning makes it a bit brittle. It's suggested remedy is to rename the hide/disable method, which is a bit strong when the provided methods are actually correct. For this reason I think it has to be a -1 vote.

Regards

Rob


On 12/16/12 12:36, Dan Haywood wrote:
I've staged a release for Apache Isis Core v1.0.0, and 4 components, JDO
Object Store 1.0.0, File Security 1.0.0, Wicket Viewer 1.0.0,
RestfulObjects Viewer 1.0.0

The four components each depend on Core 1.0.0, but do not depend on each
other.

According to our release procedures [1], I've released each component using
a separate branch (though the component branches depend upon the core
branch).  This way, if this vote fails because of a problem in just one of
the components, there should be less work to fix.

The artifacts have been staged to five staging repository on
repository.apache.org:

core:

*
https://repository.apache.org/content/repositories/orgapacheisis-022/org/apache/isis/core/isis/1.0.0/isis-1.0.0-source-release.zip(zip
file)
*
https://repository.apache.org/content/repositories/orgapacheisis-022/org/apache/isis/core/isis/1.0.0/isis-1.0.0-source-release.zip.asc(signature)

jdo objectstore:

*
https://repository.apache.org/content/repositories/orgapacheisis-024/org/apache/isis/objectstore/isis-objectstore-jdo/1.0.0/isis-objectstore-jdo-1.0.0-source-release.zip
*
https://repository.apache.org/content/repositories/orgapacheisis-024/org/apache/isis/objectstore/isis-objectstore-jdo/1.0.0/isis-objectstore-jdo-1.0.0-source-release.zip.asc

file security:

*
https://repository.apache.org/content/repositories/orgapacheisis-025/org/apache/isis/security/isis-security-file/1.0.0/isis-security-file-1.0.0-source-release.zip
*
https://repository.apache.org/content/repositories/orgapacheisis-025/org/apache/isis/security/isis-security-file/1.0.0/isis-security-file-1.0.0-source-release.zip.asc

wicket viewer:

*
https://repository.apache.org/content/repositories/orgapacheisis-026/org/apache/isis/viewer/isis-viewer-wicket/1.0.0/isis-viewer-wicket-1.0.0-source-release.zip
*
https://repository.apache.org/content/repositories/orgapacheisis-026/org/apache/isis/viewer/isis-viewer-wicket/1.0.0/isis-viewer-wicket-1.0.0-source-release.zip.asc

restfulobjects viewer

*
https://repository.apache.org/content/repositories/orgapacheisis-027/org/apache/isis/viewer/isis-viewer-restfulobjects/1.0.0/isis-viewer-restfulobjects-1.0.0-source-release.zip
*
https://repository.apache.org/content/repositories/orgapacheisis-027/org/apache/isis/viewer/isis-viewer-restfulobjects/1.0.0/isis-viewer-restfulobjects-1.0.0-source-release.zip.asc

In the source code repo the code has been tagged as isis-1.0.0-RC1,
isis-objectstore-jdo-1.0.0-RC1, isis-security-file-1.0.0-RC1,
isis-viewer-wicket-1.0.0-RC1, isis-viewer-restfulobjects-1.0.0-RC1.  (If
the vote succeeds, these tags will be replaced with another without the -RC
suffix).

Our website contains some suggestions of how to verify the release, see [2].

Please verify the release and cast your vote.  The vote will be open for a
minimum of 72 hours.

[ ] +1
[ ]  0
[ ] -1


[1] http://isis.apache.org/contributors/release-process.html
[2] http://isis.apache.org/contributors/verifying-releases.html


diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/disabled/method/DisabledFacetViaDisableMethodFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/disabled/method/DisabledFacetViaDisableMethodFacetFactory.java
index 399bb9b..4c70c6b 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/disabled/method/DisabledFacetViaDisableMethodFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/disabled/method/DisabledFacetViaDisableMethodFacetFactory.java
@@ -58,7 +58,7 @@ public static void 
attachDisabledFacetIfDisabledMethodIsFound(final ProcessMetho
         final String capitalizedName = 
NameUtils.javaBaseNameStripAccessorPrefixIfRequired(method.getName());
 
         final Class<?> cls = processMethodContext.getCls();
-        final Method disableMethod = MethodFinderUtils.findMethod(cls, 
MethodScope.OBJECT, MethodPrefixConstants.DISABLE_PREFIX + capitalizedName, 
String.class, new Class[] {});
+        final Method disableMethod = MethodFinderUtils.findMethod(cls, 
MethodScope.OBJECT, MethodPrefixConstants.DISABLE_PREFIX + capitalizedName, 
String.class, method.getParameterTypes());
         if (disableMethod == null) {
             return;
         }
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/hidden/method/HiddenFacetViaHideMethodFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/hidden/method/HiddenFacetViaHideMethodFacetFactory.java
index 37ce409..c32e0fd 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/hidden/method/HiddenFacetViaHideMethodFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/hidden/method/HiddenFacetViaHideMethodFacetFactory.java
@@ -58,9 +58,12 @@ public static void attachHideFacetIfHideMethodIsFound(final 
ProcessMethodContext
         final String capitalizedName = 
NameUtils.javaBaseNameStripAccessorPrefixIfRequired(getMethod.getName());
 
         final Class<?> cls = processMethodContext.getCls();
-        final Method hideMethod = MethodFinderUtils.findMethod(cls, 
MethodScope.OBJECT, MethodPrefixConstants.HIDE_PREFIX + capitalizedName, 
boolean.class, new Class[] {});
+        Method hideMethod = MethodFinderUtils.findMethod(cls, 
MethodScope.OBJECT, MethodPrefixConstants.HIDE_PREFIX + capitalizedName, 
boolean.class, new Class[] {});
         if (hideMethod == null) {
-            return;
+            hideMethod = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, 
MethodPrefixConstants.HIDE_PREFIX + capitalizedName, boolean.class, 
getMethod.getParameterTypes());
+            if (hideMethod == null) {
+                return;
+            }
         }
 
         processMethodContext.removeMethod(hideMethod);

Reply via email to