Browse Source

Externalize strings in TransportHttp

Some strings were not externalized. Also use them in HTTP tests to
ensure that they will also succeed when message bundles are
translated.

Change-Id: Id02717176557e7d57e676e1339cd89f2be88d330
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-0.10
Matthias Sohn 14 years ago
parent
commit
784d388c49
  1. 2
      org.eclipse.jgit.http.test/META-INF/MANIFEST.MF
  2. 9
      org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
  3. 5
      org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java
  4. 3
      org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties
  5. 3
      org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java
  6. 60
      org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java

2
org.eclipse.jgit.http.test/META-INF/MANIFEST.MF

@ -22,12 +22,14 @@ Import-Package: javax.servlet;version="[2.5.0,3.0.0)",
org.eclipse.jetty.util.component;version="[7.0.1,8.0.0)", org.eclipse.jetty.util.component;version="[7.0.1,8.0.0)",
org.eclipse.jetty.util.log;version="[7.0.1,8.0.0)", org.eclipse.jetty.util.log;version="[7.0.1,8.0.0)",
org.eclipse.jetty.util.thread;version="[7.0.1,8.0.0)", org.eclipse.jetty.util.thread;version="[7.0.1,8.0.0)",
org.eclipse.jgit;version="[0.10.0,0.11.0)",
org.eclipse.jgit.errors;version="[0.10.0,0.11.0)", org.eclipse.jgit.errors;version="[0.10.0,0.11.0)",
org.eclipse.jgit.http.server;version="[0.10.0,0.11.0)", org.eclipse.jgit.http.server;version="[0.10.0,0.11.0)",
org.eclipse.jgit.http.server.glue;version="[0.10.0,0.11.0)", org.eclipse.jgit.http.server.glue;version="[0.10.0,0.11.0)",
org.eclipse.jgit.http.server.resolver;version="[0.10.0,0.11.0)", org.eclipse.jgit.http.server.resolver;version="[0.10.0,0.11.0)",
org.eclipse.jgit.junit;version="[0.10.0,0.11.0)", org.eclipse.jgit.junit;version="[0.10.0,0.11.0)",
org.eclipse.jgit.lib;version="[0.10.0,0.11.0)", org.eclipse.jgit.lib;version="[0.10.0,0.11.0)",
org.eclipse.jgit.nls;version="[0.10.0,0.11.0)",
org.eclipse.jgit.revwalk;version="[0.10.0,0.11.0)", org.eclipse.jgit.revwalk;version="[0.10.0,0.11.0)",
org.eclipse.jgit.storage.file;version="[0.10.0,0.11.0)", org.eclipse.jgit.storage.file;version="[0.10.0,0.11.0)",
org.eclipse.jgit.transport;version="[0.10.0,0.11.0)", org.eclipse.jgit.transport;version="[0.10.0,0.11.0)",

9
org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java

@ -52,6 +52,7 @@ import javax.servlet.http.HttpServletRequest;
import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jgit.JGitText;
import org.eclipse.jgit.errors.NoRemoteRepositoryException; import org.eclipse.jgit.errors.NoRemoteRepositoryException;
import org.eclipse.jgit.errors.RepositoryNotFoundException; import org.eclipse.jgit.errors.RepositoryNotFoundException;
import org.eclipse.jgit.errors.TransportException; import org.eclipse.jgit.errors.TransportException;
@ -280,8 +281,8 @@ public class HttpClientTests extends HttpTestCase {
t.openFetch(); t.openFetch();
fail("connection opened even info/refs needs auth basic"); fail("connection opened even info/refs needs auth basic");
} catch (TransportException err) { } catch (TransportException err) {
String status = "authentication not supported"; String exp = dumbAuthBasicURI + ": "
String exp = dumbAuthBasicURI + ": " + status; + JGitText.get().authenticationNotSupported;
assertEquals(exp, err.getMessage()); assertEquals(exp, err.getMessage());
} }
} finally { } finally {
@ -297,8 +298,8 @@ public class HttpClientTests extends HttpTestCase {
t.openFetch(); t.openFetch();
fail("connection opened even though service disabled"); fail("connection opened even though service disabled");
} catch (TransportException err) { } catch (TransportException err) {
String status = "authentication not supported"; String exp = smartAuthBasicURI + ": "
String exp = smartAuthBasicURI + ": " + status; + JGitText.get().authenticationNotSupported;
assertEquals(exp, err.getMessage()); assertEquals(exp, err.getMessage());
} }
} finally { } finally {

5
org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java

@ -66,6 +66,7 @@ import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.FilterMapping; import org.eclipse.jetty.servlet.FilterMapping;
import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jgit.JGitText;
import org.eclipse.jgit.errors.RepositoryNotFoundException; import org.eclipse.jgit.errors.RepositoryNotFoundException;
import org.eclipse.jgit.errors.TransportException; import org.eclipse.jgit.errors.TransportException;
import org.eclipse.jgit.http.server.GitServlet; import org.eclipse.jgit.http.server.GitServlet;
@ -398,8 +399,8 @@ public class SmartClientSmartServerTest extends HttpTestCase {
t.push(NullProgressMonitor.INSTANCE, Collections.singleton(u)); t.push(NullProgressMonitor.INSTANCE, Collections.singleton(u));
fail("anonymous push incorrectly accepted without error"); fail("anonymous push incorrectly accepted without error");
} catch (TransportException e) { } catch (TransportException e) {
final String status = "authentication not supported"; final String exp = remoteURI + ": "
final String exp = remoteURI.toString() + ": " + status; + JGitText.get().authenticationNotSupported;
assertEquals(exp, e.getMessage()); assertEquals(exp, e.getMessage());
} }
} finally { } finally {

3
org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties

@ -18,6 +18,7 @@ anSSHSessionHasBeenAlreadyCreated=An SSH session has been already created
atLeastOnePathIsRequired=At least one path is required. atLeastOnePathIsRequired=At least one path is required.
atLeastOnePatternIsRequired=At least one pattern is required. atLeastOnePatternIsRequired=At least one pattern is required.
atLeastTwoFiltersNeeded=At least two filters needed. atLeastTwoFiltersNeeded=At least two filters needed.
authenticationNotSupported=authentication not supported
badBase64InputCharacterAt=Bad Base64 input character at {0} : {1} (decimal) badBase64InputCharacterAt=Bad Base64 input character at {0} : {1} (decimal)
badEntryDelimiter=Bad entry delimiter badEntryDelimiter=Bad entry delimiter
badEntryName=Bad entry name: {0} badEntryName=Bad entry name: {0}
@ -266,6 +267,7 @@ notAGitDirectory=not a git directory
notAPACKFile=Not a PACK file. notAPACKFile=Not a PACK file.
notARef=Not a ref: {0}: {1} notARef=Not a ref: {0}: {1}
notASCIIString=Not ASCII string: {0} notASCIIString=Not ASCII string: {0}
notAuthorized=not authorized
notAValidPack=Not a valid pack {0} notAValidPack=Not a valid pack {0}
notFound=not found. notFound=not found.
notValid={0} not valid notValid={0} not valid
@ -402,6 +404,7 @@ unsupportedOperationNotAddAtEnd=Not add-at-end: {0}
unsupportedPackIndexVersion=Unsupported pack index version {0} unsupportedPackIndexVersion=Unsupported pack index version {0}
unsupportedPackVersion=Unsupported pack version {0}. unsupportedPackVersion=Unsupported pack version {0}.
updatingRefFailed=Updating the ref {0} to {1} failed. ReturnCode from RefUpdate.update() was {2} updatingRefFailed=Updating the ref {0} to {1} failed. ReturnCode from RefUpdate.update() was {2}
uriNotFound={0} not found
userConfigFileInvalid=User config file {0} invalid {1} userConfigFileInvalid=User config file {0} invalid {1}
walkFailure=Walk failure. walkFailure=Walk failure.
windowSizeMustBeLesserThanLimit=Window size must be < limit windowSizeMustBeLesserThanLimit=Window size must be < limit

3
org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java

@ -78,6 +78,7 @@ public class JGitText extends TranslationBundle {
/***/ public String atLeastOnePathIsRequired; /***/ public String atLeastOnePathIsRequired;
/***/ public String atLeastOnePatternIsRequired; /***/ public String atLeastOnePatternIsRequired;
/***/ public String atLeastTwoFiltersNeeded; /***/ public String atLeastTwoFiltersNeeded;
/***/ public String authenticationNotSupported;
/***/ public String badBase64InputCharacterAt; /***/ public String badBase64InputCharacterAt;
/***/ public String badEntryDelimiter; /***/ public String badEntryDelimiter;
/***/ public String badEntryName; /***/ public String badEntryName;
@ -326,6 +327,7 @@ public class JGitText extends TranslationBundle {
/***/ public String notAPACKFile; /***/ public String notAPACKFile;
/***/ public String notARef; /***/ public String notARef;
/***/ public String notASCIIString; /***/ public String notASCIIString;
/***/ public String notAuthorized;
/***/ public String notAValidPack; /***/ public String notAValidPack;
/***/ public String notFound; /***/ public String notFound;
/***/ public String notValid; /***/ public String notValid;
@ -462,6 +464,7 @@ public class JGitText extends TranslationBundle {
/***/ public String unsupportedPackIndexVersion; /***/ public String unsupportedPackIndexVersion;
/***/ public String unsupportedPackVersion; /***/ public String unsupportedPackVersion;
/***/ public String updatingRefFailed; /***/ public String updatingRefFailed;
/***/ public String uriNotFound;
/***/ public String userConfigFileInvalid; /***/ public String userConfigFileInvalid;
/***/ public String walkFailure; /***/ public String walkFailure;
/***/ public String windowSizeMustBeLesserThanLimit; /***/ public String windowSizeMustBeLesserThanLimit;

60
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java

@ -115,9 +115,9 @@ import org.eclipse.jgit.util.io.UnionInputStream;
*/ */
public class TransportHttp extends HttpTransport implements WalkTransport, public class TransportHttp extends HttpTransport implements WalkTransport,
PackTransport { PackTransport {
private static final String SVC_UPLOAD_PACK = "git-upload-pack"; private static final String SVC_UPLOAD_PACK = "git-upload-pack"; //$NON-NLS-1$
private static final String SVC_RECEIVE_PACK = "git-receive-pack"; private static final String SVC_RECEIVE_PACK = "git-receive-pack"; //$NON-NLS-1$
private static final String userAgent = computeUserAgent(); private static final String userAgent = computeUserAgent();
@ -125,7 +125,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
if (!uri.isRemote()) if (!uri.isRemote())
return false; return false;
final String s = uri.getScheme(); final String s = uri.getScheme();
return "http".equals(s) || "https".equals(s) || "ftp".equals(s); return "http".equals(s) || "https".equals(s) || "ftp".equals(s); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} }
private static String computeUserAgent() { private static String computeUserAgent() {
@ -149,7 +149,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
final int postBuffer; final int postBuffer;
HttpConfig(final Config rc) { HttpConfig(final Config rc) {
postBuffer = rc.getInt("http", "postbuffer", 1 * 1024 * 1024); postBuffer = rc.getInt("http", "postbuffer", 1 * 1024 * 1024); //$NON-NLS-1$ //$NON-NLS-2$
} }
} }
@ -170,10 +170,10 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
super(local, uri); super(local, uri);
try { try {
String uriString = uri.toString(); String uriString = uri.toString();
if (!uriString.endsWith("/")) if (!uriString.endsWith("/")) //$NON-NLS-1$
uriString += "/"; uriString += "/"; //$NON-NLS-1$
baseUrl = new URL(uriString); baseUrl = new URL(uriString);
objectsUrl = new URL(baseUrl, "objects/"); objectsUrl = new URL(baseUrl, "objects/"); //$NON-NLS-1$
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
throw new NotSupportedException(MessageFormat.format(JGitText.get().invalidURL, uri), e); throw new NotSupportedException(MessageFormat.format(JGitText.get().invalidURL, uri), e);
} }
@ -333,8 +333,8 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
b.append(Constants.INFO_REFS); b.append(Constants.INFO_REFS);
if (useSmartHttp) { if (useSmartHttp) {
b.append(b.indexOf("?") < 0 ? '?' : '&'); b.append(b.indexOf("?") < 0 ? '?' : '&'); //$NON-NLS-1$
b.append("service="); b.append("service="); //$NON-NLS-1$
b.append(service); b.append(service);
} }
@ -348,10 +348,10 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
for (;;) { for (;;) {
final HttpURLConnection conn = httpOpen(u); final HttpURLConnection conn = httpOpen(u);
if (useSmartHttp) { if (useSmartHttp) {
String exp = "application/x-" + service + "-advertisement"; String exp = "application/x-" + service + "-advertisement"; //$NON-NLS-1$ //$NON-NLS-2$
conn.setRequestProperty(HDR_ACCEPT, exp + ", */*"); conn.setRequestProperty(HDR_ACCEPT, exp + ", */*"); //$NON-NLS-1$
} else { } else {
conn.setRequestProperty(HDR_ACCEPT, "*/*"); conn.setRequestProperty(HDR_ACCEPT, "*/*"); //$NON-NLS-1$
} }
final int status = HttpSupport.response(conn); final int status = HttpSupport.response(conn);
switch (status) { switch (status) {
@ -359,25 +359,27 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
return conn; return conn;
case HttpURLConnection.HTTP_NOT_FOUND: case HttpURLConnection.HTTP_NOT_FOUND:
throw new NoRemoteRepositoryException(uri, u + " not found"); throw new NoRemoteRepositoryException(uri,
MessageFormat.format(JGitText.get().uriNotFound, u));
case HttpURLConnection.HTTP_UNAUTHORIZED: case HttpURLConnection.HTTP_UNAUTHORIZED:
authMethod = HttpAuthMethod.scanResponse(conn); authMethod = HttpAuthMethod.scanResponse(conn);
if (authMethod == HttpAuthMethod.NONE) if (authMethod == HttpAuthMethod.NONE)
throw new TransportException(uri, throw new TransportException(uri, MessageFormat.format(
"authentication not supported"); JGitText.get().authenticationNotSupported, uri));
if (1 < authAttempts || uri.getUser() == null) if (1 < authAttempts || uri.getUser() == null)
throw new TransportException(uri, "not authorized"); throw new TransportException(uri,
JGitText.get().notAuthorized);
authMethod.authorize(uri); authMethod.authorize(uri);
authAttempts++; authAttempts++;
continue; continue;
case HttpURLConnection.HTTP_FORBIDDEN: case HttpURLConnection.HTTP_FORBIDDEN:
throw new TransportException(uri, service throw new TransportException(uri, MessageFormat.format(
+ " not permitted"); JGitText.get().serviceNotPermitted, service));
default: default:
String err = status + " " + conn.getResponseMessage(); String err = status + " " + conn.getResponseMessage(); //$NON-NLS-1$
throw new TransportException(uri, err); throw new TransportException(uri, err);
} }
} }
@ -422,7 +424,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
} }
private boolean isSmartHttp(final HttpURLConnection c, final String service) { private boolean isSmartHttp(final HttpURLConnection c, final String service) {
final String expType = "application/x-" + service + "-advertisement"; final String expType = "application/x-" + service + "-advertisement"; //$NON-NLS-1$ //$NON-NLS-2$
final String actType = c.getContentType(); final String actType = c.getContentType();
return expType.equals(actType); return expType.equals(actType);
} }
@ -443,7 +445,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
final PacketLineIn pckIn = new PacketLineIn(new UnionInputStream( final PacketLineIn pckIn = new PacketLineIn(new UnionInputStream(
new ByteArrayInputStream(magic), in)); new ByteArrayInputStream(magic), in));
final String exp = "# service=" + service; final String exp = "# service=" + service; //$NON-NLS-1$
final String act = pckIn.readString(); final String act = pckIn.readString();
if (!exp.equals(act)) { if (!exp.equals(act)) {
throw new TransportException(uri, MessageFormat.format( throw new TransportException(uri, MessageFormat.format(
@ -500,7 +502,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
final String s = br.readLine(); final String s = br.readLine();
if (s == null || s.length() == 0) if (s == null || s.length() == 0)
break; break;
if (!s.startsWith("P pack-") || !s.endsWith(".pack")) if (!s.startsWith("P pack-") || !s.endsWith(".pack")) //$NON-NLS-1$ //$NON-NLS-2$
throw invalidAdvertisement(s); throw invalidAdvertisement(s);
packs.add(s.substring(2)); packs.add(s.substring(2));
} }
@ -526,8 +528,8 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
case HttpURLConnection.HTTP_NOT_FOUND: case HttpURLConnection.HTTP_NOT_FOUND:
throw new FileNotFoundException(u.toString()); throw new FileNotFoundException(u.toString());
default: default:
throw new IOException(u.toString() + ": " throw new IOException(u.toString() + ": " //$NON-NLS-1$
+ HttpSupport.response(c) + " " + HttpSupport.response(c) + " " //$NON-NLS-1$
+ c.getResponseMessage()); + c.getResponseMessage());
} }
} }
@ -549,14 +551,14 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
name = line.substring(tab + 1); name = line.substring(tab + 1);
id = ObjectId.fromString(line.substring(0, tab)); id = ObjectId.fromString(line.substring(0, tab));
if (name.endsWith("^{}")) { if (name.endsWith("^{}")) { //$NON-NLS-1$
name = name.substring(0, name.length() - 3); name = name.substring(0, name.length() - 3);
final Ref prior = avail.get(name); final Ref prior = avail.get(name);
if (prior == null) if (prior == null)
throw outOfOrderAdvertisement(name); throw outOfOrderAdvertisement(name);
if (prior.getPeeledObjectId() != null) if (prior.getPeeledObjectId() != null)
throw duplicateAdvertisement(name + "^{}"); throw duplicateAdvertisement(name + "^{}"); //$NON-NLS-1$
avail.put(name, new ObjectIdRef.PeeledTag( avail.put(name, new ObjectIdRef.PeeledTag(
Ref.Storage.NETWORK, name, Ref.Storage.NETWORK, name,
@ -667,8 +669,8 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
Service(final String serviceName) { Service(final String serviceName) {
this.serviceName = serviceName; this.serviceName = serviceName;
this.requestType = "application/x-" + serviceName + "-request"; this.requestType = "application/x-" + serviceName + "-request"; //$NON-NLS-1$ //$NON-NLS-2$
this.responseType = "application/x-" + serviceName + "-result"; this.responseType = "application/x-" + serviceName + "-result"; //$NON-NLS-1$ //$NON-NLS-2$
this.execute = new HttpExecuteStream(); this.execute = new HttpExecuteStream();
this.in = new UnionInputStream(execute); this.in = new UnionInputStream(execute);
@ -725,7 +727,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
final int status = HttpSupport.response(conn); final int status = HttpSupport.response(conn);
if (status != HttpURLConnection.HTTP_OK) { if (status != HttpURLConnection.HTTP_OK) {
throw new TransportException(uri, status + " " throw new TransportException(uri, status + " " //$NON-NLS-1$
+ conn.getResponseMessage()); + conn.getResponseMessage());
} }

Loading…
Cancel
Save