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 2012/02/10 16:41:35 UTC

svn commit: r1242824 - /incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/password/PasswordValueSemanticsProvider.java

Author: kevin
Date: Fri Feb 10 15:41:35 2012
New Revision: 1242824

URL: http://svn.apache.org/viewvc?rev=1242824&view=rev
Log:
ISIS-184: Added cross-check to fix exception when passed-in object is an ObjectAdapter, instead of a Password object.

Modified:
    incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/password/PasswordValueSemanticsProvider.java

Modified: incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/password/PasswordValueSemanticsProvider.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/password/PasswordValueSemanticsProvider.java?rev=1242824&r1=1242823&r2=1242824&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/password/PasswordValueSemanticsProvider.java (original)
+++ incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/password/PasswordValueSemanticsProvider.java Fri Feb 10 15:41:35 2012
@@ -30,7 +30,8 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderAndFacetAbstract;
 import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderContext;
 
-public class PasswordValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<Password> implements PasswordValueFacet {
+public class PasswordValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<Password> implements
+    PasswordValueFacet {
 
     public static Class<? extends Facet> type() {
         return PasswordValueFacet.class;
@@ -42,15 +43,16 @@ public class PasswordValueSemanticsProvi
     private static final boolean EQUAL_BY_CONTENT = true;
 
     /**
-     * Required because implementation of {@link Parser} and
-     * {@link EncoderDecoder}.
+     * Required because implementation of {@link Parser} and {@link EncoderDecoder}.
      */
     public PasswordValueSemanticsProvider() {
         this(null, null, null);
     }
 
-    public PasswordValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
-        super(type(), holder, Password.class, TYPICAL_LENGTH, IMMUTABLE, EQUAL_BY_CONTENT, DEFAULT_VALUE, configuration, context);
+    public PasswordValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration,
+        final ValueSemanticsProviderContext context) {
+        super(type(), holder, Password.class, TYPICAL_LENGTH, IMMUTABLE, EQUAL_BY_CONTENT, DEFAULT_VALUE,
+            configuration, context);
     }
 
     // //////////////////////////////////////////////////////////////////
@@ -106,7 +108,11 @@ public class PasswordValueSemanticsProvi
     }
 
     private Password password(final Object object) {
-        return (Password) object;
+        if (object instanceof ObjectAdapter) {
+            return (Password) ((ObjectAdapter) object).getObject();
+        } else {
+            return (Password) object;
+        }
     }
 
     // /////// toString ///////