Author: markt Date: Mon Oct 27 04:43:24 2008 New Revision: 708145 URL: http://svn.apache.org/viewvc?rev=708145&view=rev Log: Previous commit undid some of the fixes for bug 45906. Correct that error.
Modified: tomcat/trunk/java/org/apache/naming/resources/ResourceAttributes.java Modified: tomcat/trunk/java/org/apache/naming/resources/ResourceAttributes.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/ResourceAttributes.java?rev=708145&r1=708144&r2=708145&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/naming/resources/ResourceAttributes.java (original) +++ tomcat/trunk/java/org/apache/naming/resources/ResourceAttributes.java Mon Oct 27 04:43:24 2008 @@ -710,43 +710,38 @@ /** * Get ETag. * - * @return Weak ETag + * @return strong ETag if available, else weak ETag. */ public String getETag() { - return getETag(false); - } - - - /** - * Get ETag. - * - * @param strong If true, the strong ETag will be returned - * @return ETag - */ - public String getETag(boolean strong) { - if (strong) { - // The strong ETag must always be calculated by the resources - if (strongETag != null) - return strongETag; - if (attributes != null) { - Attribute attribute = attributes.get(ETAG); - if (attribute != null) { - try { - strongETag = attribute.get().toString(); - } catch (NamingException e) { - ; // No value for the attribute - } + String result = null; + if (attributes != null) { + Attribute attribute = attributes.get(ETAG); + if (attribute != null) { + try { + result = attribute.get().toString(); + } catch (NamingException e) { + ; // No value for the attribute } } - return strongETag; - } else { - // The weakETag is contentLenght + lastModified - if (weakETag == null) { - weakETag = "W/\"" + getContentLength() + "-" - + getLastModified() + "\""; - } - return weakETag; } + if (result == null) { + if (strongETag != null) { + // The strong ETag must always be calculated by the resources + result = strongETag; + } else { + // The weakETag is contentLength + lastModified + if (weakETag == null) { + long contentLength = getContentLength(); + long lastModified = getLastModified(); + if ((contentLength >= 0) || (lastModified >= 0)) { + weakETag = "W/\"" + contentLength + "-" + + lastModified + "\""; + } + } + result = weakETag; + } + } + return result; } @@ -813,17 +808,17 @@ if (contentLength < 0) return null; return new BasicAttribute(CONTENT_LENGTH, new Long(contentLength)); } else if (attrID.equals(ALTERNATE_CONTENT_LENGTH)) { - long contentLength = getContentLength(); - if (contentLength < 0) return null; - return new BasicAttribute(ALTERNATE_CONTENT_LENGTH, new Long(contentLength)); + long contentLength = getContentLength(); + if (contentLength < 0) return null; + return new BasicAttribute(ALTERNATE_CONTENT_LENGTH, new Long(contentLength)); } else if (attrID.equals(ETAG)) { - String etag = getETag(); - if (etag == null) return null; - return new BasicAttribute(ETAG, etag); + String etag = getETag(); + if (etag == null) return null; + return new BasicAttribute(ETAG, etag); } else if (attrID.equals(ALTERNATE_ETAG)) { - String etag = getETag(); - if (etag == null) return null; - return new BasicAttribute(ALTERNATE_ETAG, etag); + String etag = getETag(); + if (etag == null) return null; + return new BasicAttribute(ALTERNATE_ETAG, etag); } } else { return attributes.get(attrID); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]