diff --git a/source/com.microsoft.tfs.client.eclipse.help/content/InstallTEE_LP.htm b/source/com.microsoft.tfs.client.eclipse.help/content/InstallTEE_LP.htm
index 8af4a8cb3..8019945a2 100644
--- a/source/com.microsoft.tfs.client.eclipse.help/content/InstallTEE_LP.htm
+++ b/source/com.microsoft.tfs.client.eclipse.help/content/InstallTEE_LP.htm
@@ -484,7 +484,7 @@ To install the Team Explorer Everywhere addit
Specify the location of the archive file and click Open.
- Selected the downloaded archive file TFSEclipsePlugin-NL1-UpdateSiteArchive-14.135.0.zip.
+ Selected the downloaded archive file TFSEclipsePlugin-NL1-UpdateSiteArchive-14.136.0.zip.
@@ -515,7 +515,7 @@ To install the Team Explorer Everywhere addit
You can install the language pack to provide additional language support to the cross-platform command-line client for Team Foundation Server. Locale-specific environment variables must be configured for your desired language and character encoding, and your terminal program must be configured to display characters in this encoding. See the locale(1) manual page and the documentation for your terminal program for more information.
To install the Cross-Platform Command-Line Client additional languages-
- Unzip the archive file (TEE-CLC-NL1-14.135.0.zip) that contains the languages into the same location as the cross-platform command-line client.
+ Unzip the archive file (TEE-CLC-NL1-14.136.0.zip) that contains the languages into the same location as the cross-platform command-line client.
diff --git a/source/com.microsoft.tfs.client.eclipse.metafeature/feature.xml b/source/com.microsoft.tfs.client.eclipse.metafeature/feature.xml
index ae146e364..3feb1eddc 100644
--- a/source/com.microsoft.tfs.client.eclipse.metafeature/feature.xml
+++ b/source/com.microsoft.tfs.client.eclipse.metafeature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/source/com.microsoft.tfs.client.eclipse.ui.egit/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.client.eclipse.ui.egit/META-INF/MANIFEST.MF
index 851d3bf27..019696fa5 100644
--- a/source/com.microsoft.tfs.client.eclipse.ui.egit/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.client.eclipse.ui.egit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.client.eclipse.ui.egit;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/source/com.microsoft.tfs.client.eclipse.ui/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.client.eclipse.ui/META-INF/MANIFEST.MF
index 921d42e27..59dff7d0d 100644
--- a/source/com.microsoft.tfs.client.eclipse.ui/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.client.eclipse.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.client.eclipse.ui; singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Activator: com.microsoft.tfs.client.eclipse.ui.TFSEclipseClientUIPlugin
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
diff --git a/source/com.microsoft.tfs.client.eclipse.ui/about.ini b/source/com.microsoft.tfs.client.eclipse.ui/about.ini
index 887921ced..beb2e507c 100644
--- a/source/com.microsoft.tfs.client.eclipse.ui/about.ini
+++ b/source/com.microsoft.tfs.client.eclipse.ui/about.ini
@@ -1,5 +1,5 @@
# This is really a Java properties file, and as such MUST be ISO 8859-1
# (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/about_customization.html)
-aboutText=Team Explorer Everywhere\nVersion 14.135.0\n\n Copyright (c) Microsoft. All rights reserved.\nLicensed under the MIT license. See License.txt in the repository root.
+aboutText=Team Explorer Everywhere\nVersion 14.136.0\n\n Copyright (c) Microsoft. All rights reserved.\nLicensed under the MIT license. See License.txt in the repository root.
featureImage=images/about.gif
diff --git a/source/com.microsoft.tfs.client.eclipse/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.client.eclipse/META-INF/MANIFEST.MF
index e0b77a673..22f02587f 100644
--- a/source/com.microsoft.tfs.client.eclipse/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.client.eclipse/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.client.eclipse; singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Activator: com.microsoft.tfs.client.eclipse.TFSEclipseClientPlugin
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
diff --git a/source/com.microsoft.tfs.console/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.console/META-INF/MANIFEST.MF
index 27e23b29d..06324a5b3 100644
--- a/source/com.microsoft.tfs.console/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.console/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.console;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/source/com.microsoft.tfs.core.httpclient/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.core.httpclient/META-INF/MANIFEST.MF
index 1d988f944..af5a4f535 100644
--- a/source/com.microsoft.tfs.core.httpclient/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.core.httpclient/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.core.httpclient;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/source/com.microsoft.tfs.core.ws.runtime/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.core.ws.runtime/META-INF/MANIFEST.MF
index cd16bd335..e2d1277e6 100644
--- a/source/com.microsoft.tfs.core.ws.runtime/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.core.ws.runtime/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.core.ws.runtime;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/client/SOAPService.java b/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/client/SOAPService.java
index 4f8322a90..e2df27965 100644
--- a/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/client/SOAPService.java
+++ b/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/client/SOAPService.java
@@ -4,11 +4,8 @@
package com.microsoft.tfs.core.ws.runtime.client;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.net.SocketException;
import java.net.URI;
@@ -39,12 +36,10 @@
import com.microsoft.tfs.core.httpclient.HttpMethod;
import com.microsoft.tfs.core.httpclient.HttpStatus;
import com.microsoft.tfs.core.httpclient.MultiThreadedHttpConnectionManager;
-import com.microsoft.tfs.core.httpclient.StatusLine;
import com.microsoft.tfs.core.httpclient.URIException;
import com.microsoft.tfs.core.httpclient.auth.AuthScope;
import com.microsoft.tfs.core.httpclient.methods.PostMethod;
import com.microsoft.tfs.core.httpclient.params.HttpClientParams;
-import com.microsoft.tfs.core.httpclient.util.EncodingUtil;
import com.microsoft.tfs.core.ws.runtime.Messages;
import com.microsoft.tfs.core.ws.runtime.client.TransportRequestHandler.Status;
import com.microsoft.tfs.core.ws.runtime.exceptions.EndpointNotFoundException;
@@ -60,7 +55,6 @@
import com.microsoft.tfs.core.ws.runtime.stax.StaxFactoryProvider;
import com.microsoft.tfs.core.ws.runtime.xml.XMLStreamReaderHelper;
import com.microsoft.tfs.util.Check;
-import com.microsoft.tfs.util.GUID;
import com.microsoft.tfs.util.LocaleUtil;
import com.microsoft.tfs.util.tasks.CanceledException;
import com.microsoft.tfs.util.tasks.TaskMonitorService;
@@ -73,7 +67,6 @@
*/
public abstract class SOAPService {
private final static Log log = LogFactory.getLog(SOAPService.class);
- private final static Log base64log = LogFactory.getLog("base64." + SOAPService.class.getName()); //$NON-NLS-1$
private static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
@@ -504,16 +497,11 @@ private void executeSOAPRequestInternal(
TransportException,
CanceledException {
final PostMethod method = request.getPostMethod();
-
final long start = System.currentTimeMillis();
long serverExecute = -1;
- long contentLength = -1;
- int response = -1;
- boolean isCompressed = false;
+ int responseCode = -1;
- IOException ioException = null;
- byte[] responseBytes = null;
- TraceInputStream responseStream = null;
+ InputStream responseStream = null;
try {
/*
@@ -542,7 +530,7 @@ private void executeSOAPRequestInternal(
*/
final long serverStart = System.currentTimeMillis();
try {
- response = client.executeMethod(method);
+ responseCode = client.executeMethod(method);
} catch (final SocketException e) {
/*
* If the user cancelled the current task, we might get a
@@ -550,33 +538,19 @@ private void executeSOAPRequestInternal(
* closed the socket after timing out waiting for voluntary
* cancel.
*/
- if (TaskMonitorService.getTaskMonitor().isCanceled() && (e.getMessage().startsWith("Socket closed") //$NON-NLS-1$
- || e.getMessage().startsWith("Stream closed"))) //$NON-NLS-1$
- {
+ if (TaskMonitorService.getTaskMonitor().isCanceled()
+ && (e.getMessage().startsWith("Socket closed") //$NON-NLS-1$
+ || e.getMessage().startsWith("Stream closed"))) { //$NON-NLS-1$
throw new CanceledException();
}
- /*
- * If this fault was not a TCP connection reset, rethrow it.
- */
- if (e.getMessage().startsWith("Connection reset") == false) //$NON-NLS-1$
- {
- throw e;
- }
-
- log.warn("Retrying invoke after a connection reset", e); //$NON-NLS-1$
-
- /*
- * Give it one more try on the user's behalf.
- */
- response = client.executeMethod(method);
+ throw e;
}
serverExecute = System.currentTimeMillis() - serverStart;
responseStream = getResponseStream(method);
- isCompressed = responseStream.isCompressed();
- switch (response) {
+ switch (responseCode) {
case HttpStatus.SC_OK:
XMLStreamReader reader = null;
@@ -627,8 +601,7 @@ private void executeSOAPRequestInternal(
* If we got here, some error happened (we couldn't find
* our envelope and body tags).
*/
- throw new InvalidServerResponseException(
- "The server's response does not seem to be a SOAP message."); //$NON-NLS-1$
+ throw new InvalidServerResponseException("The server's response does not seem to be a SOAP message."); //$NON-NLS-1$
} catch (final XMLStreamException e) {
final String messageFormat = "The server's response could not be parsed as XML: {0}"; //$NON-NLS-1$
final String message = MessageFormat.format(messageFormat, e.getMessage());
@@ -666,12 +639,10 @@ private void executeSOAPRequestInternal(
examineBodyForFault(method);
default:
final String messageFormat = "The SOAP endpoint {0} could not be contacted. HTTP status: {1}"; //$NON-NLS-1$
- final String message =
- MessageFormat.format(messageFormat, method.getURI().toString(), Integer.toString(response));
- throw new EndpointNotFoundException(message, response);
+ final String message = MessageFormat.format(messageFormat, method.getURI().toString(), Integer.toString(responseCode));
+ throw new EndpointNotFoundException(message, responseCode);
}
} catch (final IOException e) {
- ioException = e;
throw new TransportException(e.getMessage(), e);
} finally {
final long total = System.currentTimeMillis() - start;
@@ -679,187 +650,54 @@ private void executeSOAPRequestInternal(
if (responseStream != null) {
try {
responseStream.close();
- } catch (final IOException e) {
- ioException = e;
+ } catch (final IOException ignore) {
}
- responseBytes = responseStream.getBytes();
- contentLength = responseStream.getTotalBytes();
}
/*
* perform logging
*/
try {
- if (log.isDebugEnabled()) {
- logExtended(method, serverExecute, total, contentLength, isCompressed, responseBytes, ioException);
- } else {
- log.info(makeNormalLogEntry(method, serverExecute, total, contentLength, isCompressed));
+ if (log.isInfoEnabled()) {
+ final Header contentEncoding = method.getResponseHeader("Content-Encoding"); //$NON-NLS-1$
+ final Header contentLength = method.getResponseHeader("Content-Length"); //$NON-NLS-1$
+ /*
+ * In the case of multiple failed attempts at method execution, the
+ * PostMethod may come back to us with a null status line, which will
+ * cause NullPointerExceptions when invoking some of its methods (like
+ * getStatusCode()). We can prevent the exceptions by checking for this
+ * internal state.
+ */
+ log.info("SOAP method=\'" //$NON-NLS-1$
+ + ((BufferedSOAPRequestEntity) method.getRequestEntity()).getMethodName()
+ + "\', status=" //$NON-NLS-1$
+ + (method.getStatusLine() != null ? method.getStatusCode() : -1)
+ + ", content-length=" //$NON-NLS-1$
+ + (contentLength != null ? contentLength.getValue() : -1)
+ + ", server-wait=" //$NON-NLS-1$
+ + serverExecute
+ + " ms, parse=" //$NON-NLS-1$
+ + (total - serverExecute)
+ + " ms, total=" //$NON-NLS-1$
+ + total
+ + " ms, throughput=" //$NON-NLS-1$
+ + Math.round((contentLength != null ? Long.parseLong(contentLength.getValue()) : -1L) / Math.max(total, 1.0) * 1000.0)
+ + " B/s" //$NON-NLS-1$
+ + (contentEncoding != null ? ", " + contentEncoding.getValue() : ", uncompressed")); //$NON-NLS-1$ //$NON-NLS-2$
}
- } catch (final Throwable t) {
- /*
- * don't propogate any errors raised while logging
- */
- log.warn("Error logging SOAP call", t); //$NON-NLS-1$
+ } catch (final Throwable ignore) {
}
method.releaseConnection();
}
}
- protected TraceInputStream getResponseStream(final PostMethod method) throws IOException {
- boolean isCompressed = false;
- InputStream responseStream;
+ protected InputStream getResponseStream(final PostMethod method) throws IOException {
+ InputStream responseBody = method.getResponseBodyAsStream();
final Header encoding = method.getResponseHeader("Content-Encoding"); //$NON-NLS-1$
if (encoding != null && encoding.getValue().equalsIgnoreCase("gzip")) //$NON-NLS-1$
- {
- responseStream = new GZIPInputStream(method.getResponseBodyAsStream());
- isCompressed = true;
- } else {
- responseStream = method.getResponseBodyAsStream();
- }
-
- // Calculate if we want to store read bytes (useful for debugging)
- int storeBytes = -1;
- if (log.isTraceEnabled()
- || (log.isDebugEnabled() && method.getResponseContentLength() <= RESPONSE_MAX_SIZE_FOR_DEBUG_LOGGING)) {
- storeBytes = RESPONSE_MAX_SIZE_FOR_DEBUG_LOGGING;
- }
+ responseBody = new GZIPInputStream(method.getResponseBodyAsStream());
- return new TraceInputStream(responseStream, storeBytes, isCompressed);
- }
-
- private void logExtended(
- final PostMethod method,
- final long serverExecuteMs,
- final long totalMs,
- final long contentLength,
- final boolean isCompressed,
- final byte[] responseBytes,
- final Throwable t) throws IOException {
- final StringBuffer sb = new StringBuffer();
- final String newline = System.getProperty("line.separator"); //$NON-NLS-1$
-
- /*
- * the first line of the trace log message is the same as a normal log
- * message
- */
- sb.append(makeNormalLogEntry(method, serverExecuteMs, totalMs, contentLength, isCompressed)).append(newline);
-
- /*
- * append request name, path, and headers
- */
- sb.append(method.getName() + " " + method.getPath()).append(newline); //$NON-NLS-1$
- sb.append(newline);
-
- final Header[] requestHeaders = method.getRequestHeaders();
- for (int i = 0; i < requestHeaders.length; i++) {
- sb.append(requestHeaders[i].getName() + ": " + requestHeaders[i].getValue()).append(newline); //$NON-NLS-1$
- }
- sb.append(newline);
-
- /*
- * append request body
- */
- final ByteArrayOutputStream requestBodyByteStream = new ByteArrayOutputStream();
-
- /*
- * this line makes the assumption that we're using
- * BufferedSoapRequestEntity
- */
- method.getRequestEntity().writeRequest(requestBodyByteStream);
-
- final String requestBodyString = requestBodyByteStream.toString(SOAPRequestEntity.SOAP_ENCODING);
- sb.append(requestBodyString).append(newline);
-
- /*
- * separate request and response portions of the trace log entry
- */
- sb.append(newline);
-
- /*
- * In the case of multiple failed attempts at method execution, the
- * PostMethod may come back to us with a null status line, which will
- * cause NullPointerExceptions when invoking some of its methods (like
- * getStatusCode()). We can prevent the exceptions by checking for this
- * internal state.
- */
- final StatusLine statusLine = method.getStatusLine();
-
- /*
- * append response code and headers
- */
- sb.append(((statusLine != null) ? method.getStatusCode() : -1)
- + " " //$NON-NLS-1$
- + ((statusLine != null) ? method.getStatusText() : "")).append(newline); //$NON-NLS-1$
- sb.append(newline);
-
- final Header[] responseHeaders = method.getResponseHeaders();
- for (int i = 0; i < responseHeaders.length; i++) {
- sb.append(responseHeaders[i].getName() + ": " + responseHeaders[i].getValue()).append(newline); //$NON-NLS-1$
- }
- sb.append(newline);
-
- String responseBodyAsString = null;
- if (responseBytes != null) {
- responseBodyAsString = EncodingUtil.getString(responseBytes, method.getResponseCharSet());
- }
-
- StringBuffer base64buffer = null;
-
- /*
- * If we have a response body, and the base64log is enabled or we
- * couldn't convert the response body to a string, we then log a base64
- * representation of the response body to the base64log.
- */
- if (responseBytes != null && (base64log.isDebugEnabled() || responseBodyAsString == null)) {
- final String base64guid = GUID.newGUIDString();
-
- final String base64EncodedResponse = getFormattedBase64Encoding(responseBytes);
-
- base64buffer = new StringBuffer();
- base64buffer.append("-- " //$NON-NLS-1$
- + base64guid
- + " base64 encoded response: " //$NON-NLS-1$
- + responseBytes.length
- + " byte(s) --"); //$NON-NLS-1$
- base64buffer.append(newline);
- base64buffer.append(base64EncodedResponse).append(newline);
- base64buffer.append("-- end base64 encoded response --").append(newline); //$NON-NLS-1$
-
- sb.append("-- base64 response key: " + base64guid).append(newline); //$NON-NLS-1$
- sb.append(newline);
- }
-
- sb.append(responseBodyAsString != null ? responseBodyAsString : "-- RESPONSE UNAVAILABLE --"); //$NON-NLS-1$
- sb.append(newline);
-
- /*
- * if an error occurred during the low-level HTTP call, log it
- */
- if (t != null) {
- sb.append(newline);
- final StringWriter sw = new StringWriter();
- final PrintWriter pw = new PrintWriter(sw);
- t.printStackTrace(pw);
- pw.flush();
- sb.append("ERROR: " + t.getMessage()).append(newline); //$NON-NLS-1$
- sb.append(sw.toString());
- }
-
- /*
- * finish off the log entry with a separator
- */
- sb.append("--------------------------------------------------------------------------------"); //$NON-NLS-1$
- // String end = sb.toString().substring(sb.length() > 200 ? sb.length()
- // - 200 : 0);
- log.debug(sb.toString());
-
- /*
- * write the base64 log last - the ensures that if both logs are being
- * appended to the same file, the regular log entry appears first
- */
- if (base64buffer != null) {
- base64log.debug(base64buffer.toString());
- }
+ return responseBody;
}
protected String getFormattedBase64Encoding(final byte[] responseBytes) {
@@ -875,7 +713,6 @@ protected String getFormattedBase64Encoding(final byte[] responseBytes) {
*/
throw new RuntimeException(e);
}
- final String newline = System.getProperty("line.separator"); //$NON-NLS-1$
final StringBuffer sb = new StringBuffer();
@@ -884,7 +721,7 @@ protected String getFormattedBase64Encoding(final byte[] responseBytes) {
final int newIx = Math.min(ix + 80, unformatted.length());
sb.append(unformatted.substring(ix, newIx));
if (newIx < unformatted.length()) {
- sb.append(newline);
+ sb.append(NEWLINE);
}
ix = newIx;
}
@@ -892,41 +729,6 @@ protected String getFormattedBase64Encoding(final byte[] responseBytes) {
return sb.toString();
}
- private String makeNormalLogEntry(
- final PostMethod method,
- final long serverExecuteMs,
- final long totalMs,
- final long contentLength,
- final boolean isCompressed) {
- final String methodName = ((BufferedSOAPRequestEntity) method.getRequestEntity()).getMethodName();
-
- /*
- * In the case of multiple failed attempts at method execution, the
- * PostMethod may come back to us with a null status line, which will
- * cause NullPointerExceptions when invoking some of its methods (like
- * getStatusCode()). We can prevent the exceptions by checking for this
- * internal state.
- */
- final StatusLine statusLine = method.getStatusLine();
-
- return "SOAP method=\'" //$NON-NLS-1$
- + methodName
- + "\', status=" //$NON-NLS-1$
- + ((statusLine != null) ? method.getStatusCode() : -1)
- + ", content-length=" //$NON-NLS-1$
- + contentLength
- + ", server-wait=" //$NON-NLS-1$
- + serverExecuteMs
- + " ms, parse=" //$NON-NLS-1$
- + (totalMs - serverExecuteMs)
- + " ms, total=" //$NON-NLS-1$
- + totalMs
- + " ms, throughput=" //$NON-NLS-1$
- + Math.round(contentLength / Math.max(totalMs, 1F) * 1000F)
- + " B/s" //$NON-NLS-1$
- + (isCompressed ? ", gzip" : ", uncompressed"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
protected void finishSOAPRequest(final SOAPRequest request) {
request.getPostMethod().releaseConnection();
}
diff --git a/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/client/TraceInputStream.java b/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/client/TraceInputStream.java
deleted file mode 100644
index 00711777a..000000000
--- a/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/client/TraceInputStream.java
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See License.txt in the repository root.
-
-package com.microsoft.tfs.core.ws.runtime.client;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * A single threaded input stream that wraps another input stream but captures
- * information suitable for tracing
- */
-public class TraceInputStream extends InputStream {
- private final InputStream delegate;
- private long totalBytes;
- private int bytesRead;
- private final int storeBytes;
- private byte[] byteStore;
- private int currentPosition;
- private final boolean compressed;
-
- private static final int BUFFER_INITIAL_SIZE = 8192;
-
- public TraceInputStream(final InputStream delegate, final int storeBytes, final boolean isCompressed) {
- this.delegate = delegate;
- this.storeBytes = storeBytes;
- compressed = isCompressed;
- byteStore = new byte[BUFFER_INITIAL_SIZE];
- }
-
- @Override
- public int read() throws IOException {
- bytesRead = delegate.read();
- if (bytesRead >= 0) {
- ++totalBytes;
- if (totalBytes < storeBytes) {
- addBytes(new byte[] {
- (byte) bytesRead
- }, 1);
- }
- }
- return bytesRead;
- }
-
- @Override
- public int read(final byte[] b, final int off, final int len) throws IOException {
- bytesRead = delegate.read(b, off, len);
- if (bytesRead >= 0) {
- totalBytes += bytesRead;
- addBytes(b, bytesRead);
- }
- return bytesRead;
- }
-
- @Override
- public int read(final byte[] b) throws IOException {
- bytesRead = delegate.read(b);
- if (bytesRead >= 0) {
- totalBytes += bytesRead;
- addBytes(b, bytesRead);
- }
- return bytesRead;
- }
-
- public long getTotalBytes() {
- return totalBytes;
- }
-
- public byte[] getBytes() {
- if (storeBytes <= 0 || currentPosition == 0) {
- return null;
- }
-
- final byte[] copy = new byte[currentPosition];
- System.arraycopy(byteStore, 0, copy, 0, currentPosition);
- return copy;
- }
-
- private void addBytes(final byte[] bytes, final int bytesRead) {
- if (totalBytes < storeBytes) {
- if (currentPosition + bytesRead > byteStore.length) {
- // We need more room, double our buffer.
- final int increase = Math.max(byteStore.length * 2, bytesRead);
- final byte[] temp = new byte[byteStore.length + increase];
- System.arraycopy(byteStore, 0, temp, 0, currentPosition);
- byteStore = temp;
- }
- System.arraycopy(bytes, 0, byteStore, currentPosition, bytesRead);
- currentPosition = currentPosition + bytesRead;
- }
- }
-
- /**
- * @return true is stream based on a compressed (gzip) stream.
- */
- public boolean isCompressed() {
- return compressed;
- }
-
-}
diff --git a/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/stax/StaxUtils.java b/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/stax/StaxUtils.java
index 646ca1983..aa2551797 100644
--- a/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/stax/StaxUtils.java
+++ b/source/com.microsoft.tfs.core.ws.runtime/src/com/microsoft/tfs/core/ws/runtime/stax/StaxUtils.java
@@ -83,8 +83,7 @@ public static String getElementTextOrNull(final XMLStreamReader reader) throws X
* the writer (not null)
* @throws XMLStreamException
*/
- public static void copyCurrentElement(final XMLStreamReader reader, final XMLStreamWriter writer)
- throws XMLStreamException {
+ public static void copyCurrentElement(final XMLStreamReader reader, final XMLStreamWriter writer) throws XMLStreamException {
Check.notNull(reader, "reader"); //$NON-NLS-1$
Check.notNull(writer, "writer"); //$NON-NLS-1$
@@ -92,15 +91,8 @@ public static void copyCurrentElement(final XMLStreamReader reader, final XMLStr
Check.isTrue(event == XMLStreamConstants.START_ELEMENT, "event == XMLStreamConstants.START_ELEMENT"); //$NON-NLS-1$
- /*
- * Start element depth at 1, increment when an element is started (not
- * including the element that we start with), decrement when an element
- * is ended, and when it goes to 0 we've read the end of the original
- * reader's element.
- */
- int elementDepth = 1;
+ int elementDepth = 0;
- boolean firstTime = true;
while (true) {
switch (event) {
case XMLStreamConstants.START_ELEMENT:
@@ -109,47 +101,30 @@ public static void copyCurrentElement(final XMLStreamReader reader, final XMLStr
final String elementNameSpace = reader.getNamespaceURI();
writer.writeStartElement(
- StringUtil.isNullOrEmpty(elementPrefix) ? StringUtil.EMPTY : elementPrefix,
- StringUtil.isNullOrEmpty(elementLocalName) ? StringUtil.EMPTY : elementLocalName,
- StringUtil.isNullOrEmpty(elementNameSpace) ? StringUtil.EMPTY : elementNameSpace);
+ elementPrefix != null ? elementPrefix : StringUtil.EMPTY,
+ elementLocalName != null ? elementLocalName : StringUtil.EMPTY,
+ elementNameSpace != null ? elementNameSpace : StringUtil.EMPTY);
- final int attributeCount = reader.getAttributeCount();
- for (int i = 0; i < attributeCount; i++) {
+ for (int i = 0, n = reader.getAttributeCount(); i < n; i += 1) {
final String prefix = reader.getAttributePrefix(i);
final String nameSpace = reader.getAttributeNamespace(i);
final String localName = reader.getAttributeLocalName(i);
final String value = reader.getAttributeValue(i);
writer.writeAttribute(
- StringUtil.isNullOrEmpty(prefix) ? StringUtil.EMPTY : prefix,
- StringUtil.isNullOrEmpty(nameSpace) ? StringUtil.EMPTY : nameSpace,
- StringUtil.isNullOrEmpty(localName) ? StringUtil.EMPTY : localName,
- StringUtil.isNullOrEmpty(value) ? StringUtil.EMPTY : value);
- }
-
- /*
- * Don't increment depth the first time through, because the
- * caller opened the element.
- */
- if (firstTime) {
- firstTime = false;
- } else {
- elementDepth++;
+ prefix != null ? prefix : StringUtil.EMPTY,
+ nameSpace != null ? nameSpace : StringUtil.EMPTY,
+ localName != null ? localName : StringUtil.EMPTY,
+ value != null ? value : StringUtil.EMPTY);
}
-
+ elementDepth += 1;
break;
case XMLStreamConstants.END_ELEMENT:
writer.writeEndElement();
- elementDepth--;
-
- if (elementDepth < 1) {
- /*
- * We just wrote the end element for the original
- * element.
- */
+ if (--elementDepth < 1) {
+ // We just wrote the end element for the original element.
return;
}
-
break;
case XMLStreamConstants.PROCESSING_INSTRUCTION:
writer.writeProcessingInstruction(reader.getPITarget(), reader.getPIData());
diff --git a/source/com.microsoft.tfs.core.ws/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.core.ws/META-INF/MANIFEST.MF
index b2957ab86..1c801abf1 100644
--- a/source/com.microsoft.tfs.core.ws/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.core.ws/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.core.ws;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/source/com.microsoft.tfs.core/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.core/META-INF/MANIFEST.MF
index b31aa04f3..b9f392444 100644
--- a/source/com.microsoft.tfs.core/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.core;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-ClassPath: com.microsoft.tfs.core.jar,
libs/AlmHttpClient-15.105.0.20161011/alm-distributedtask-client-15.105.0-SNAPSHOT.jar,
libs/AlmHttpClient-15.105.0.20161011/alm-extensionmanagement-client-15.105.0-SNAPSHOT.jar,
diff --git a/source/com.microsoft.tfs.core/about.html b/source/com.microsoft.tfs.core/about.html
index e4d100894..569f7a3d6 100644
--- a/source/com.microsoft.tfs.core/about.html
+++ b/source/com.microsoft.tfs.core/about.html
@@ -6,7 +6,7 @@
Microsoft® Team Explorer Everywhere
-Release 14.134.0
+Release 14.136.0
Copyright (c) Microsoft. All rights reserved.
Licensed under the MIT license. See License.txt in the repository root.
diff --git a/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/webservices/Messages.java b/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/webservices/Messages.java
index 2e27304fa..13b9e11bf 100644
--- a/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/webservices/Messages.java
+++ b/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/webservices/Messages.java
@@ -3,14 +3,10 @@
package com.microsoft.tfs.core.clients.webservices;
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "com.microsoft.tfs.core.clients.webservices.messages"; //$NON-NLS-1$
+public class Messages extends org.eclipse.osgi.util.NLS {
static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ initializeMessages("com.microsoft.tfs.core.clients.webservices.messages", Messages.class); //$NON-NLS-1$
}
private Messages() {
diff --git a/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/config/httpclient/DefaultHTTPClientFactory.java b/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/config/httpclient/DefaultHTTPClientFactory.java
index 4e8cd583c..64c41ca94 100644
--- a/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/config/httpclient/DefaultHTTPClientFactory.java
+++ b/source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/config/httpclient/DefaultHTTPClientFactory.java
@@ -8,9 +8,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.eclipse.core.runtime.IBundleGroup;
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.Platform;
import com.microsoft.tfs.core.config.ConnectionInstanceData;
import com.microsoft.tfs.core.config.EnvironmentVariables;
@@ -41,6 +38,7 @@
import com.microsoft.tfs.core.ws.runtime.transport.IdleHTTPConnectionCloser;
import com.microsoft.tfs.jni.PlatformMiscUtils;
import com.microsoft.tfs.util.Check;
+import com.microsoft.tfs.util.StringUtil;
/**
*
@@ -538,20 +536,19 @@ protected final void addClientToCloserThread(final HttpClient httpClient) {
* is the eclipse version.
*/
private final String getProductInformation(final String shortName) {
-
- final String[] productInfo = new String[2];
- String productVendorVersion = ""; //$NON-NLS-1$
+ String productVendorVersion = StringUtil.EMPTY;
// collect this information only in case of running as eclipse plugin
if (shortName.equals(ProductName.PLUGIN)) {
- productInfo[0] = Platform.getProduct().getName().replace(' ', '_');
+ final String[] productInfo = new String[2];
+
+ productInfo[0] = org.eclipse.core.runtime.Platform.getProduct().getName().replace(' ', '_');
- final IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
+ final org.eclipse.core.runtime.IBundleGroupProvider[] providers = org.eclipse.core.runtime.Platform.getBundleGroupProviders();
if (providers != null) {
- for (final IBundleGroupProvider provider : providers) {
- final IBundleGroup[] groups = provider.getBundleGroups();
- for (final IBundleGroup group : groups) {
+ for (final org.eclipse.core.runtime.IBundleGroupProvider provider : providers) {
+ for (final org.eclipse.core.runtime.IBundleGroup group : provider.getBundleGroups()) {
final String groupName = group.getName();
final String groupVersion = group.getVersion();
@@ -567,11 +564,12 @@ private final String getProductInformation(final String shortName) {
}
}
}
- }
- if (productInfo[0] != null && productInfo[1] != null) {
- productVendorVersion = MessageFormat.format("{0} {1} ", productInfo[0], productInfo[1]); //$NON-NLS-1$
+ if (productInfo[0] != null && productInfo[1] != null) {
+ productVendorVersion = MessageFormat.format("{0} {1} ", productInfo[0], productInfo[1]); //$NON-NLS-1$
+ }
}
+
return productVendorVersion;
}
}
diff --git a/source/com.microsoft.tfs.jni/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.jni/META-INF/MANIFEST.MF
index 14124f04d..acc0f9c43 100644
--- a/source/com.microsoft.tfs.jni/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.jni/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.jni;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/source/com.microsoft.tfs.logging/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.logging/META-INF/MANIFEST.MF
index 1daec8513..b5e17251f 100644
--- a/source/com.microsoft.tfs.logging/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.logging/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.logging;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/source/com.microsoft.tfs.sdk.samples.checkinpolicy/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.sdk.samples.checkinpolicy/META-INF/MANIFEST.MF
index 7767ea725..3208bf145 100644
--- a/source/com.microsoft.tfs.sdk.samples.checkinpolicy/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.sdk.samples.checkinpolicy/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Sample TFS Check-in Policy
Bundle-SymbolicName: com.microsoft.tfs.sdk.samples.checkinpolicy;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: Microsoft Corporation
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: com.microsoft.tfs.checkinpolicies,
diff --git a/source/com.microsoft.tfs.sdk.samples.console/.classpath-sdk b/source/com.microsoft.tfs.sdk.samples.console/.classpath-sdk
index fa0b67a24..ce57739eb 100644
--- a/source/com.microsoft.tfs.sdk.samples.console/.classpath-sdk
+++ b/source/com.microsoft.tfs.sdk.samples.console/.classpath-sdk
@@ -2,6 +2,6 @@
-
+
diff --git a/source/com.microsoft.tfs.sdk.samples.console/build.xml b/source/com.microsoft.tfs.sdk.samples.console/build.xml
index eb908bf22..b61c13e78 100644
--- a/source/com.microsoft.tfs.sdk.samples.console/build.xml
+++ b/source/com.microsoft.tfs.sdk.samples.console/build.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/source/com.microsoft.tfs.sdk.samples.console/readme.txt b/source/com.microsoft.tfs.sdk.samples.console/readme.txt
index ae85934be..fda833c1a 100644
--- a/source/com.microsoft.tfs.sdk.samples.console/readme.txt
+++ b/source/com.microsoft.tfs.sdk.samples.console/readme.txt
@@ -8,9 +8,9 @@ Instructions for Using Console Samples
2. Run "ant compile" to compile the Java code in this directory.
3. Run each snippet program like:
-
+
(Windows)
- java -Dcom.microsoft.tfs.jni.native.base-directory=..\..\redist\native -classpath ..\..\redist\lib\com.microsoft.tfs.sdk-14.134.0.jar;.\bin com.microsoft.tfs.sdk.samples.console.ConsoleSampleClassName
+ java -Dcom.microsoft.tfs.jni.native.base-directory=..\..\redist\native -classpath ..\..\redist\lib\com.microsoft.tfs.sdk-14.136.0.jar;.\bin com.microsoft.tfs.sdk.samples.console.ConsoleSampleClassName
(Unix and Mac OS)
- java -Dcom.microsoft.tfs.jni.native.base-directory=../../redist/native -classpath ../../redist/lib/com.microsoft.tfs.sdk-14.134.0.jar:./bin com.microsoft.tfs.sdk.samples.console.ConsoleSampleClassName
+ java -Dcom.microsoft.tfs.jni.native.base-directory=../../redist/native -classpath ../../redist/lib/com.microsoft.tfs.sdk-14.136.0.jar:./bin com.microsoft.tfs.sdk.samples.console.ConsoleSampleClassName
diff --git a/source/com.microsoft.tfs.sdk.samples.snippets/.classpath-sdk b/source/com.microsoft.tfs.sdk.samples.snippets/.classpath-sdk
index fa0b67a24..ce57739eb 100644
--- a/source/com.microsoft.tfs.sdk.samples.snippets/.classpath-sdk
+++ b/source/com.microsoft.tfs.sdk.samples.snippets/.classpath-sdk
@@ -2,6 +2,6 @@
-
+
diff --git a/source/com.microsoft.tfs.sdk.samples.snippets/build.xml b/source/com.microsoft.tfs.sdk.samples.snippets/build.xml
index 91065f6c7..1bf6e827b 100644
--- a/source/com.microsoft.tfs.sdk.samples.snippets/build.xml
+++ b/source/com.microsoft.tfs.sdk.samples.snippets/build.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/source/com.microsoft.tfs.sdk.samples.snippets/readme.txt b/source/com.microsoft.tfs.sdk.samples.snippets/readme.txt
index cde89773b..356c54bb1 100644
--- a/source/com.microsoft.tfs.sdk.samples.snippets/readme.txt
+++ b/source/com.microsoft.tfs.sdk.samples.snippets/readme.txt
@@ -8,9 +8,9 @@ Instructions for Using Snippets
2. Run "ant compile" to compile the Java code in this directory.
3. Run each snippet program like:
-
+
(Windows)
- java -Dcom.microsoft.tfs.jni.native.base-directory=..\..\redist\native -classpath ..\..\redist\lib\com.microsoft.tfs.sdk-14.134.0.jar;.\bin com.microsoft.tfs.sdk.samples.snippets.SnippetClassName
+ java -Dcom.microsoft.tfs.jni.native.base-directory=..\..\redist\native -classpath ..\..\redist\lib\com.microsoft.tfs.sdk-14.136.0.jar;.\bin com.microsoft.tfs.sdk.samples.snippets.SnippetClassName
(Unix and Mac OS)
- java -Dcom.microsoft.tfs.jni.native.base-directory=../../redist/native -classpath ../../redist/lib/com.microsoft.tfs.sdk-14.134.0.jar:./bin com.microsoft.tfs.sdk.samples.snippets.SnippetClassName
+ java -Dcom.microsoft.tfs.jni.native.base-directory=../../redist/native -classpath ../../redist/lib/com.microsoft.tfs.sdk-14.136.0.jar:./bin com.microsoft.tfs.sdk.samples.snippets.SnippetClassName
diff --git a/source/com.microsoft.tfs.sdk.samples.teamexplorer/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.sdk.samples.teamexplorer/META-INF/MANIFEST.MF
index b9f1186a0..8b82cced7 100644
--- a/source/com.microsoft.tfs.sdk.samples.teamexplorer/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.sdk.samples.teamexplorer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Sample Team Explorer Extensions
Bundle-SymbolicName: com.microsoft.tfs.sdk.samples.teamexplorer;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: Microsoft Corporation
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/source/com.microsoft.tfs.sdk.samples.witcontrols/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.sdk.samples.witcontrols/META-INF/MANIFEST.MF
index 53c5aef7b..40cddb2ed 100644
--- a/source/com.microsoft.tfs.sdk.samples.witcontrols/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.sdk.samples.witcontrols/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Sample TFS Custom Work item Controls
Bundle-SymbolicName: com.microsoft.tfs.sdk.samples.witcontrols;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: Microsoft Corporation
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/source/com.microsoft.tfs.sdk/readme.html b/source/com.microsoft.tfs.sdk/readme.html
index f583e64bc..4682fa043 100644
--- a/source/com.microsoft.tfs.sdk/readme.html
+++ b/source/com.microsoft.tfs.sdk/readme.html
@@ -164,13 +164,13 @@ Getting Started
Follow these steps to get started using the client object model:
- - Copy the redist/lib/com.microsoft.tfs.sdk-14.135.0.jar
+
- Copy the redist/lib/com.microsoft.tfs.sdk-14.136.0.jar
file and redist/native directory (including
all subdirectories and files) to your application's development or
runtime location.
- Configure your application's Java classpath to include the com.microsoft.tfs.sdk-14.135.0.jar file.
+ class="path">com.microsoft.tfs.sdk-14.136.0.jar file.
Use classes from the client object model in your application.
Sample client application source code can be found in the Java Build Path
When the Properties dialog containing the Java Build Path
page appears, click the Libraries tab then click the Add External
JARs... button
- Browse to the SDK's redist/lib/com.microsoft.tfs.sdk-14.135.0.jar
+ Browse to the SDK's redist/lib/com.microsoft.tfs.sdk-14.136.0.jar
file and click Open
Click OK to close the Properties dialog
diff --git a/source/com.microsoft.tfs.sdk/redist/redist.txt b/source/com.microsoft.tfs.sdk/redist/redist.txt
index d49d8986b..3df782ed0 100644
--- a/source/com.microsoft.tfs.sdk/redist/redist.txt
+++ b/source/com.microsoft.tfs.sdk/redist/redist.txt
@@ -8,7 +8,7 @@ Software License Terms.
ThirdPartyNotices.html
-lib/com.microsoft.tfs.sdk-14.134.0.jar
+lib/com.microsoft.tfs.sdk-14.136.0.jar
native/macosx/libnative_misc.jnilib
native/macosx/libnative_keychain.jnilib
diff --git a/source/com.microsoft.tfs.util/META-INF/MANIFEST.MF b/source/com.microsoft.tfs.util/META-INF/MANIFEST.MF
index a9b54d453..353fc1629 100644
--- a/source/com.microsoft.tfs.util/META-INF/MANIFEST.MF
+++ b/source/com.microsoft.tfs.util/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.microsoft.tfs.util;singleton:=true
-Bundle-Version: 14.135.0.qualifier
+Bundle-Version: 14.136.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/translations/de/com.microsoft.tfs.client.eclipse.ui/about.ini b/translations/de/com.microsoft.tfs.client.eclipse.ui/about.ini
index e7b126f3b..d0ddfaa38 100644
--- a/translations/de/com.microsoft.tfs.client.eclipse.ui/about.ini
+++ b/translations/de/com.microsoft.tfs.client.eclipse.ui/about.ini
@@ -1,5 +1,5 @@
# This is really a Java properties file, and as such MUST be ISO 8859-1
# (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/about_customization.html)
-aboutText=Team Explorer Everywhere\nVersion 14.123.1\n\n Copyright (c) Microsoft. Alle Rechte vorbehalten.\nLizenziert unter der MIT-Lizenz. Siehe "License.txt" im Repositorystamm.
+aboutText=Team Explorer Everywhere\nVersion 14.136.0\n\n Copyright (c) Microsoft. Alle Rechte vorbehalten.\nLizenziert unter der MIT-Lizenz. Siehe "License.txt" im Repositorystamm.
featureImage=images/about.gif
diff --git a/translations/fr/com.microsoft.tfs.client.eclipse.ui/about.ini b/translations/fr/com.microsoft.tfs.client.eclipse.ui/about.ini
index 0ff7072a6..4b254e897 100644
--- a/translations/fr/com.microsoft.tfs.client.eclipse.ui/about.ini
+++ b/translations/fr/com.microsoft.tfs.client.eclipse.ui/about.ini
@@ -1,5 +1,5 @@
# This is really a Java properties file, and as such MUST be ISO 8859-1
# (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/about_customization.html)
-aboutText=Team Explorer Everywhere\nVersion\u00a014.123.1\n\n Copyright (c) Microsoft. Tous droits r\u00e9serv\u00e9s.\nConc\u00e9d\u00e9 sous licence par le MIT. Consultez License.txt \u00e0 la racine du d\u00e9p\u00f4t.
+aboutText=Team Explorer Everywhere\nVersion\u00a014.136.0\n\n Copyright (c) Microsoft. Tous droits r\u00e9serv\u00e9s.\nConc\u00e9d\u00e9 sous licence par le MIT. Consultez License.txt \u00e0 la racine du d\u00e9p\u00f4t.
featureImage=images/about.gif
diff --git a/translations/ja/com.microsoft.tfs.client.eclipse.ui/about.ini b/translations/ja/com.microsoft.tfs.client.eclipse.ui/about.ini
index 04ba65722..e468149ef 100644
--- a/translations/ja/com.microsoft.tfs.client.eclipse.ui/about.ini
+++ b/translations/ja/com.microsoft.tfs.client.eclipse.ui/about.ini
@@ -1,5 +1,5 @@
# This is really a Java properties file, and as such MUST be ISO 8859-1
# (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/about_customization.html)
-aboutText=Team Explorer Everywhere\n\u30d0\u30fc\u30b8\u30e7\u30f3 14.123.1\n\n Copyright (c) Microsoft. All rights reserved.\nMIT \u30e9\u30a4\u30bb\u30f3\u30b9\u306b\u3088\u308a\u30e9\u30a4\u30bb\u30f3\u30b9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30eb\u30fc\u30c8\u306b\u3042\u308b License.txt \u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002
+aboutText=Team Explorer Everywhere\n\u30d0\u30fc\u30b8\u30e7\u30f3 14.136.0\n\n Copyright (c) Microsoft. All rights reserved.\nMIT \u30e9\u30a4\u30bb\u30f3\u30b9\u306b\u3088\u308a\u30e9\u30a4\u30bb\u30f3\u30b9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30eb\u30fc\u30c8\u306b\u3042\u308b License.txt \u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002
featureImage=images/about.gif
diff --git a/translations/pt/com.microsoft.tfs.client.eclipse.ui/about.ini b/translations/pt/com.microsoft.tfs.client.eclipse.ui/about.ini
index 5e93fd945..d344ef385 100644
--- a/translations/pt/com.microsoft.tfs.client.eclipse.ui/about.ini
+++ b/translations/pt/com.microsoft.tfs.client.eclipse.ui/about.ini
@@ -1,5 +1,5 @@
# This is really a Java properties file, and as such MUST be ISO 8859-1
# (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/about_customization.html)
-aboutText=Team Explorer Everywhere\nVers\u00e3o 14.231.1\n\n Copyright (c) Microsoft. Todos os direitos reservados.\nLicenciado sob a licen\u00e7a MIT. Consulte License.txt na raiz do reposit\u00f3rio.
+aboutText=Team Explorer Everywhere\nVers\u00e3o 14.136.0\n\n Copyright (c) Microsoft. Todos os direitos reservados.\nLicenciado sob a licen\u00e7a MIT. Consulte License.txt na raiz do reposit\u00f3rio.
featureImage=images/about.gif
diff --git a/translations/zh_CN/com.microsoft.tfs.client.eclipse.ui/about.ini b/translations/zh_CN/com.microsoft.tfs.client.eclipse.ui/about.ini
index 0c233152c..5b83aa81e 100644
--- a/translations/zh_CN/com.microsoft.tfs.client.eclipse.ui/about.ini
+++ b/translations/zh_CN/com.microsoft.tfs.client.eclipse.ui/about.ini
@@ -1,5 +1,5 @@
# This is really a Java properties file, and as such MUST be ISO 8859-1
# (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/about_customization.html)
-aboutText=\u56e2\u961f\u8d44\u6e90\u7ba1\u7406\u5668\u968f\u5904\u53ef\u7528\n\u7248\u672c 14.123.1\n\n \u7248\u6743 (c) Microsoft\u3002\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\n\u6839\u636e MIT \u8bb8\u53ef\u8bc1\u6388\u4e88\u8bb8\u53ef\u3002\u8bf7\u67e5\u770b\u5b58\u50a8\u5e93\u6839\u4e2d\u7684 License.txt\u3002
+aboutText=\u56e2\u961f\u8d44\u6e90\u7ba1\u7406\u5668\u968f\u5904\u53ef\u7528\n\u7248\u672c 14.136.0\n\n \u7248\u6743 (c) Microsoft\u3002\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\n\u6839\u636e MIT \u8bb8\u53ef\u8bc1\u6388\u4e88\u8bb8\u53ef\u3002\u8bf7\u67e5\u770b\u5b58\u50a8\u5e93\u6839\u4e2d\u7684 License.txt\u3002
featureImage=images/about.gif
diff --git a/translations/zh_TW/com.microsoft.tfs.client.eclipse.ui/about.ini b/translations/zh_TW/com.microsoft.tfs.client.eclipse.ui/about.ini
index 3f97ebbff..a4feaffd9 100644
--- a/translations/zh_TW/com.microsoft.tfs.client.eclipse.ui/about.ini
+++ b/translations/zh_TW/com.microsoft.tfs.client.eclipse.ui/about.ini
@@ -1,5 +1,5 @@
# This is really a Java properties file, and as such MUST be ISO 8859-1
# (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/about_customization.html)
-aboutText=Team Explorer Everywhere\nVersion 14.123.1\n\n Copyright (c) Microsoft. \u8457\u4f5c\u6b0a\u6240\u6709\uff0c\u4e26\u4fdd\u7559\u4e00\u5207\u6b0a\u5229\u3002\n\u5df2\u7372 MIT License \u6388\u6b0a\u3002 \u8acb\u53c3\u95b1\u5b58\u653e\u5eab\u6839\u76ee\u9304\u4e2d\u7684 License.txt\u3002
+aboutText=Team Explorer Everywhere\nVersion 14.136.0\n\n Copyright (c) Microsoft. \u8457\u4f5c\u6b0a\u6240\u6709\uff0c\u4e26\u4fdd\u7559\u4e00\u5207\u6b0a\u5229\u3002\n\u5df2\u7372 MIT License \u6388\u6b0a\u3002 \u8acb\u53c3\u95b1\u5b58\u653e\u5eab\u6839\u76ee\u9304\u4e2d\u7684 License.txt\u3002
featureImage=images/about.gif
|