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]

Reply via email to