OK. I reverted and added a comment. Justin
On 9/16/10 4:20 PM, Felix Meschberger wrote: > Hi Justin, > > These have been done like this by intent: The constant is set during > object creation as a special value to indicate that the super type has > not be calculated yet. As such it is kind of a special "null" value. > > The reason for not using "null" in this case is, that "null" is in fact > a valid value for a calculated super type as is any string happening to > be "equal" to UNSET_RESOURCE_SUPER_TYPE. > > The only supertype value impossible to set is the exact object reference > of UNSET_RESOURCE_SUPER_TYPE (unless the value is interned, but then ...) > > Regards > Felix > > Am 16.09.2010 22:06, schrieb [email protected]: >> Author: justin >> Date: Thu Sep 16 20:06:20 2010 >> New Revision: 997904 >> >> URL: http://svn.apache.org/viewvc?rev=997904&view=rev >> Log: >> SLING-1781 - fixing String equality check >> >> Modified: >> >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java >> >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java >> >> Modified: >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java >> URL: >> http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java?rev=997904&r1=997903&r2=997904&view=diff >> ============================================================================== >> --- >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java >> (original) >> +++ >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java >> Thu Sep 16 20:06:20 2010 >> @@ -93,7 +93,7 @@ class JcrNodeResource extends JcrItemRes >> } >> >> public String getResourceSuperType() { >> - if ( resourceSuperType == UNSET_RESOURCE_SUPER_TYPE ) { >> + if ( UNSET_RESOURCE_SUPER_TYPE.equals(resourceSuperType) ) { >> try { >> if >> (node.hasProperty(JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY)) { >> resourceSuperType = >> node.getProperty(JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY).getValue().getString(); >> @@ -101,7 +101,7 @@ class JcrNodeResource extends JcrItemRes >> } catch (RepositoryException re) { >> // we ignore this >> } >> - if ( resourceSuperType == UNSET_RESOURCE_SUPER_TYPE ) { >> + if ( UNSET_RESOURCE_SUPER_TYPE.equals(resourceSuperType) ) { >> resourceSuperType = null; >> } >> } >> >> Modified: >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java >> URL: >> http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java?rev=997904&r1=997903&r2=997904&view=diff >> ============================================================================== >> --- >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java >> (original) >> +++ >> sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java >> Thu Sep 16 20:06:20 2010 >> @@ -69,7 +69,7 @@ public class StarResource extends Synthe >> * to dynamically resolve the resource super type of this star resource. >> */ >> public String getResourceSuperType() { >> - if (resourceSuperType == UNSET_RESOURCE_SUPER_TYPE) { >> + if (UNSET_RESOURCE_SUPER_TYPE.equals(resourceSuperType)) { >> resourceSuperType = >> ResourceUtil.getResourceSuperType(this.getResourceResolver(), >> this.getResourceType()); >> } >> >> >>
