10. Araxis Merge ファイル比較レポート

このレポートは Araxis Merge2016-08-05 10:05:16 +0000 によって作成されました。Merge に関する情報については http://www.araxis.com/merge/ をご覧ください。このレポートは XHTML と CSS2 を使用し、最新の標準基準に準拠したブラウザでご覧になれます。このレポートを印刷するための最適条件は、背景の色とイメージの印刷を可能にして、印刷の向きは横を使用します。

10.1 ファイルの比較

#ロケーションファイル更新日
1/Merge Test Files/jakarta-tomcat-4.0.6-src/catalina/src/share/org/apache/catalina/connector/httpHttpResponseStream.java2002-10-08 14:15:36 +0000
2/Merge Test Files/jakarta-tomcat-4.1.18-src/catalina/src/share/org/apache/catalina/connector/httpHttpResponseStream.java2002-12-19 13:49:42 +0000

10.2 比較の概要

説明第1ファイルと第2ファイル
テキスト ブロック
変更なし6510
変更箇所310
挿入箇所22
削除箇所00

10.3 比較のオプション

余白余白の相違を意味のあるものとして扱う
大文字/小文字大文字と小文字の相違を意味のあるものとして扱う
行終端文字行終端文字(CRLF 文字)の相違を意味のあるものとして扱う
CR/LF 文字比較の詳細に示されない

10.4 有効な正規表現

有効な正規表現はありません。

10.5 比較の詳細

1 /* 1 /*
2  * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java,v 1.7.2.4 2002/02/21
 01:27:34
 remm Exp $
 2  * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java,v 1.14 2002/03/
18 0
7:15:40 remm Exp $
3  * $Revision: 1.7.2.4 $ 3  * $Revision: 1.14 $
4  * $Date: 2002/02/21
 01:27:34
 $
 4  * $Date: 2002/03/
18 0
7:15:40 $
5  * 5  *
6  * ==================================================================== 6  * ====================================================================
7  * 7  *
8  * The Apache Software License, Version 1.1 8  * The Apache Software License, Version 1.1
9  * 9  *
10  * Copyright (c) 1999 The Apache Software Foundation.  All rights 10  * Copyright (c) 1999 The Apache Software Foundation.  All rights
11  * reserved. 11  * reserved.
12  * 12  *
13  * Redistribution and use in source and binary forms, with or without 13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions 14  * modification, are permitted provided that the following conditions
15  * are met: 15  * are met:
16  * 16  *
17  * 1. Redistributions of source code must retain the above copyright 17  * 1. Redistributions of source code must retain the above copyright
18  *    notice, this list of conditions and the following disclaimer. 18  *    notice, this list of conditions and the following disclaimer.
19  * 19  *
20  * 2. Redistributions in binary form must reproduce the above copyright 20  * 2. Redistributions in binary form must reproduce the above copyright
21  *    notice, this list of conditions and the following disclaimer in 21  *    notice, this list of conditions and the following disclaimer in
22  *    the documentation and/or other materials provided with the 22  *    the documentation and/or other materials provided with the
23  *    distribution. 23  *    distribution.
24  * 24  *
25  * 3. The end-user documentation included with the redistribution, if 25  * 3. The end-user documentation included with the redistribution, if
26  *    any, must include the following acknowlegement: 26  *    any, must include the following acknowlegement:
27  *       "This product includes software developed by the 27  *       "This product includes software developed by the
28  *        Apache Software Foundation (http://www.apache.org/)." 28  *        Apache Software Foundation (http://www.apache.org/)."
29  *    Alternately, this acknowlegement may appear in the software itself, 29  *    Alternately, this acknowlegement may appear in the software itself,
30  *    if and wherever such third-party acknowlegements normally appear. 30  *    if and wherever such third-party acknowlegements normally appear.
31  * 31  *
32  * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software 32  * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
33  *    Foundation" must not be used to endorse or promote products derived 33  *    Foundation" must not be used to endorse or promote products derived
34  *    from this software without prior written permission. For written 34  *    from this software without prior written permission. For written
35  *    permission, please contact apache@apache.org. 35  *    permission, please contact apache@apache.org.
36  * 36  *
37  * 5. Products derived from this software may not be called "Apache" 37  * 5. Products derived from this software may not be called "Apache"
38  *    nor may "Apache" appear in their names without prior written 38  *    nor may "Apache" appear in their names without prior written
39  *    permission of the Apache Group. 39  *    permission of the Apache Group.
40  * 40  *
41  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 41  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
42  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 42  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
43  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 43  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
44  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 44  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
45  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
46  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 46  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
47  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 47  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
48  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 48  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
49  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 49  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
50  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 50  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
51  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
52  * SUCH DAMAGE. 52  * SUCH DAMAGE.
53  * ==================================================================== 53  * ====================================================================
54  * 54  *
55  * This software consists of voluntary contributions made by many 55  * This software consists of voluntary contributions made by many
56  * individuals on behalf of the Apache Software Foundation.  For more 56  * individuals on behalf of the Apache Software Foundation.  For more
57  * information on the Apache Software Foundation, please see 57  * information on the Apache Software Foundation, please see
58  * <http://www.apache.org/>. 58  * <http://www.apache.org/>.
59  * 59  *
60  * [Additional notices, if required by prior licensing conditions] 60  * [Additional notices, if required by prior licensing conditions]
61  * 61  *
62  */ 62  */
63  63 
64  64 
65 package org.apache.catalina.connector.http; 65 package org.apache.catalina.connector.http;
66  66 
67 import java.io.IOException; 67 import java.io.IOException;
68 import javax.servlet.http.HttpServletResponse; 68 import javax.servlet.http.HttpServletResponse;
69 import javax.servlet.http.HttpServletRequest; 69 import javax.servlet.http.HttpServletRequest;
70 import org.apache.catalina.Response; 70 import org.apache.catalina.Response;
71 import org.apache.catalina.connector.ResponseStream; 71 import org.apache.catalina.connector.ResponseStream;
72  72 
73 /** 73 /**
74  * Response stream for the HTTP/1.1 connector. This stream will automatically 74  * Response stream for the HTTP/1.1 connector. This stream will automatically
75  * chunk the answer if using HTTP/1.1 and no Content-Length has been properly 75  * chunk the answer if using HTTP/1.1 and no Content-Length has been properly
76  * set. 76  * set.
77  * 77  *
78  * @author <a href="mailto:remm@apache.org">Remy Maucherat</a> 78  * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
    79  * @deprecated
79  */ 80  */
80 public final class HttpResponseStream extends ResponseStream { 81 public final class HttpResponseStream extends ResponseStream {
81  82 
82  83 
83     // ----------------------------------------------------------- Constructors 84     // ----------------------------------------------------------- Constructors
84  85 
85  86 
86     private static final int MAX_CHUNK_SIZE = 4096; 87     private static final int MAX_CHUNK_SIZE = 4096;
87  88 
88  89 
89     private static final String CRLF = "\r\n"; 90     private static final String CRLF = "\r\n";
90  91 
91  92 
92     // ----------------------------------------------------------- Constructors 93     // ----------------------------------------------------------- Constructors
93  94 
94  95 
95     /** 96     /**
96      * Construct a servlet output stream associated with the specified Request. 97      * Construct a servlet output stream associated with the specified Request.
97      * 98      *
98      * @param response The associated response 99      * @param response The associated response
99      */ 100      */
100     public HttpResponseStream(HttpResponseImpl response) { 101     public HttpResponseStream(HttpResponseImpl response) {
101  102 
102         super(response); 103         super(response);
103         checkChunking(response); 104         checkChunking(response);
104         checkHead(response); 105         checkHead(response);
105  106 
106     } 107     }
107  108 
108  109 
109     // ----------------------------------------------------- Instance Variables 110     // ----------------------------------------------------- Instance Variables
110  111 
111  112 
112     /** 113     /**
113      * True if chunking is allowed. 114      * True if chunking is allowed.
114      */ 115      */
115     private boolean useChunking; 116     private boolean useChunking;
116  117 
117  118 
118     /** 119     /**
119      * True if printing a chunk. 120      * True if printing a chunk.
120      */ 121      */
121     private boolean writingChunk; 122     private boolean writingChunk;
122  123 
123  124 
124     /** 125     /**
125      * True if no content should be written. 126      * True if no content should be written.
126      */ 127      */
127     private boolean writeContent; 128     private boolean writeContent;
128  129 
129  130 
130     // -------------------------------------------- ServletOutputStream Methods 131     // -------------------------------------------- ServletOutputStream Methods
131  132 
132  133 
133     /** 134     /**
134      * Write the specified byte to our output stream. 135      * Write the specified byte to our output stream.
135      * 136      *
136      * @param b The byte to be written 137      * @param b The byte to be written
137      * 138      *
138      * @exception IOException if an input/output error occurs 139      * @exception IOException if an input/output error occurs
139      */ 140      */
140     public void write(int b) 141     public void write(int b)
141         throws IOException { 142         throws IOException {
142  143 
143         if (suspended) 144         if (suspended)
144             return; 145             return;
145  146 
146         if (!writeContent) 147         if (!writeContent)
147             return; 148             return;
148  149 
149         if (useChunking && !writingChunk) { 150         if (useChunking && !writingChunk) {
150             writingChunk = true; 151             writingChunk = true;
151             try { 152             try {
152                 print("1\r\n"); 153                 print("1\r\n");
153                 super.write(b); 154                 super.write(b);
154                 println(); 155                 println();
155             } finally { 156             } finally {
156                 writingChunk = false; 157                 writingChunk = false;
157             } 158             }
158         } else { 159         } else {
159             super.write(b); 160             super.write(b);
160         } 161         }
161  162 
162     } 163     }
163  164 
164  165 
165     /** 166     /**
166      * Write the specified byte array. 167      * Write the specified byte array.
167      */ 168      */
168     public void write(byte[] b, int off, int len) 169     public void write(byte[] b, int off, int len)
169         throws IOException { 170         throws IOException {
170  171 
171         if (suspended) 172         if (suspended)
172             return; 173             return;
173  174 
174         if (!writeContent) 175         if (!writeContent)
175             return; 176             return;
176  177 
177         if (useChunking && !writingChunk) { 178         if (useChunking && !writingChunk) {
178             if (len > 0) { 179             if (len > 0) {
179                 writingChunk = true; 180                 writingChunk = true;
180                 try { 181                 try {
181                     println(Integer.toHexString(len)); 182                     println(Integer.toHexString(len));
182                     super.write(b, off, len); 183                     super.write(b, off, len);
183                     println(); 184                     println();
184                 } finally { 185                 } finally {
185                     writingChunk = false; 186                     writingChunk = false;
186                 } 187                 }
187             } 188             }
188         } else { 189         } else {
189             super.write(b, off, len); 190             super.write(b, off, len);
190         } 191         }
191  192 
192     } 193     }
193  194 
194  195 
195     /** 196     /**
196      * Close this output stream, causing any buffered data to be flushed and 197      * Close this output stream, causing any buffered data to be flushed and
197      * any further output data to throw an IOException. 198      * any further output data to throw an IOException.
198      */ 199      */
199     public void close() throws IOException { 200     public void close() throws IOException {
200  201 
201         if (suspended) 202         if (suspended)
202             throw new IOException 203             throw new IOException
203                 (sm.getString("responseStream.suspended")); 204                 (sm.getString("responseStream.suspended"));
204  205 
205         if (!writeContent) 206         if (!writeContent)
206             return; 207             return;
207  208 
208         if (useChunking) { 209         if (useChunking) {
209             // Write the final chunk. 210             // Write the final chunk.
210             writingChunk = true; 211             writingChunk = true;
211             try { 212             try {
212                 print("0\r\n\r\n"); 213                 print("0\r\n\r\n");
213             } finally { 214             } finally {
214                 writingChunk = false; 215                 writingChunk = false;
215             } 216             }
216         } 217         }
217         super.close(); 218         super.close();
218  219 
219     } 220     }
220  221 
221  222 
222     // -------------------------------------------------------- Package Methods 223     // -------------------------------------------------------- Package Methods
223  224 
224  225 
225     void checkChunking(HttpResponseImpl response) { 226     void checkChunking(HttpResponseImpl response) {
226         // If any data has already been written to the stream, we must not 227         // If any data has already been written to the stream, we must not
227         // change the chunking mode 228         // change the chunking mode
228         if (count != 0) 229         if (count != 0)
229             return; 230             return;
230         // Check the basic cases in which we chunk 231         // Check the basic cases in which we chunk
231         useChunking = 232         useChunking =
232             (!response.isCommitted() 233             (!response.isCommitted()
233              && response.getContentLength() == -1 234              && response.getContentLength() == -1
234              && response.getStatus() != HttpServletResponse.SC_NOT_MODIFIED); 235              && response.getStatus() != HttpServletResponse.SC_NOT_MODIFIED);
235         if (!response.isChunkingAllowed() && useChunking) { 236         if (!response.isChunkingAllowed() && useChunking) {
236             // If we should chunk, but chunking is forbidden by the connector, 237             // If we should chunk, but chunking is forbidden by the connector,
237             // we close the connection 238             // we close the connection
238             response.setHeader("Connection", "close"); 239             response.setHeader("Connection", "close");
239         } 240         }
240         // Don't chunk is the connection will be closed 241         // Don't chunk is the connection will be closed
241         useChunking = (useChunking && !response.isCloseConnection()); 242         useChunking = (useChunking && !response.isCloseConnection());
242         if (useChunking) { 243         if (useChunking) {
243             response.setHeader("Transfer-Encoding", "chunked"); 244             response.setHeader("Transfer-Encoding", "chunked");
244         } else if (response.isChunkingAllowed()) { 245         } else if (response.isChunkingAllowed()) {
245             response.removeHeader("Transfer-Encoding", "chunked"); 246             response.removeHeader("Transfer-Encoding", "chunked");
246         } 247         }
247     } 248     }
248  249 
249  250 
250     protected void checkHead(HttpResponseImpl response) { 251     protected void checkHead(HttpResponseImpl response) {
251         HttpServletRequest servletRequest =  252         HttpServletRequest servletRequest = 
252             (HttpServletRequest) response.getRequest(); 253             (HttpServletRequest) response.getRequest();
253         if ("HEAD".equals(servletRequest.getMethod()))
 254         if ("HEAD".equals(servletRequest.getMethod())) {
254             writeContent = false; 255             writeContent = false;
255         
else
 256         else {
256             writeContent = true; 257             writeContent = true;
    258         }
257     } 259     }
258  260 
259  261 
260 } 262 }