diff --git a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF index eb6c6db9e..3d2199491 100644 --- a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF +++ b/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.log;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.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.resolver;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.nls;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.transport;version="[0.10.0,0.11.0)", diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java index 9c4b3ee09..06a4eb6a7 100644 --- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java +++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java @@ -52,6 +52,7 @@ import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jgit.JGitText; import org.eclipse.jgit.errors.NoRemoteRepositoryException; import org.eclipse.jgit.errors.RepositoryNotFoundException; import org.eclipse.jgit.errors.TransportException; @@ -280,8 +281,8 @@ public void testListRemote_Dumb_NeedsAuth() throws Exception { t.openFetch(); fail("connection opened even info/refs needs auth basic"); } catch (TransportException err) { - String status = "authentication not supported"; - String exp = dumbAuthBasicURI + ": " + status; + String exp = dumbAuthBasicURI + ": " + + JGitText.get().authenticationNotSupported; assertEquals(exp, err.getMessage()); } } finally { @@ -297,8 +298,8 @@ public void testListRemote_Smart_UploadPackNeedsAuth() throws Exception { t.openFetch(); fail("connection opened even though service disabled"); } catch (TransportException err) { - String status = "authentication not supported"; - String exp = smartAuthBasicURI + ": " + status; + String exp = smartAuthBasicURI + ": " + + JGitText.get().authenticationNotSupported; assertEquals(exp, err.getMessage()); } } finally { diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java index 87e2555a6..6f06f1f9a 100644 --- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java +++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java @@ -66,6 +66,7 @@ import org.eclipse.jetty.servlet.FilterMapping; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jgit.JGitText; import org.eclipse.jgit.errors.RepositoryNotFoundException; import org.eclipse.jgit.errors.TransportException; import org.eclipse.jgit.http.server.GitServlet; @@ -398,8 +399,8 @@ public void testPush_NotAuthorized() throws Exception { t.push(NullProgressMonitor.INSTANCE, Collections.singleton(u)); fail("anonymous push incorrectly accepted without error"); } catch (TransportException e) { - final String status = "authentication not supported"; - final String exp = remoteURI.toString() + ": " + status; + final String exp = remoteURI + ": " + + JGitText.get().authenticationNotSupported; assertEquals(exp, e.getMessage()); } } finally { diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties index 53f993dce..7c5c60860 100644 --- a/org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties +++ b/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. atLeastOnePatternIsRequired=At least one pattern is required. atLeastTwoFiltersNeeded=At least two filters needed. +authenticationNotSupported=authentication not supported badBase64InputCharacterAt=Bad Base64 input character at {0} : {1} (decimal) badEntryDelimiter=Bad entry delimiter badEntryName=Bad entry name: {0} @@ -266,6 +267,7 @@ notAGitDirectory=not a git directory notAPACKFile=Not a PACK file. notARef=Not a ref: {0}: {1} notASCIIString=Not ASCII string: {0} +notAuthorized=not authorized notAValidPack=Not a valid pack {0} notFound=not found. notValid={0} not valid @@ -402,6 +404,7 @@ unsupportedOperationNotAddAtEnd=Not add-at-end: {0} unsupportedPackIndexVersion=Unsupported pack index version {0} unsupportedPackVersion=Unsupported pack version {0}. 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} walkFailure=Walk failure. windowSizeMustBeLesserThanLimit=Window size must be < limit diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java b/org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java index 244dadd2f..502823ad5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java @@ -78,6 +78,7 @@ public static JGitText get() { /***/ public String atLeastOnePathIsRequired; /***/ public String atLeastOnePatternIsRequired; /***/ public String atLeastTwoFiltersNeeded; + /***/ public String authenticationNotSupported; /***/ public String badBase64InputCharacterAt; /***/ public String badEntryDelimiter; /***/ public String badEntryName; @@ -326,6 +327,7 @@ public static JGitText get() { /***/ public String notAPACKFile; /***/ public String notARef; /***/ public String notASCIIString; + /***/ public String notAuthorized; /***/ public String notAValidPack; /***/ public String notFound; /***/ public String notValid; @@ -462,6 +464,7 @@ public static JGitText get() { /***/ public String unsupportedPackIndexVersion; /***/ public String unsupportedPackVersion; /***/ public String updatingRefFailed; + /***/ public String uriNotFound; /***/ public String userConfigFileInvalid; /***/ public String walkFailure; /***/ public String windowSizeMustBeLesserThanLimit; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java index dae7d0b99..39dedc6a6 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java @@ -115,9 +115,9 @@ */ public class TransportHttp extends HttpTransport implements WalkTransport, 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(); @@ -125,7 +125,7 @@ static boolean canHandle(final URIish uri) { if (!uri.isRemote()) return false; 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() { @@ -149,7 +149,7 @@ private static class HttpConfig { final int postBuffer; 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 @@ private static class HttpConfig { super(local, uri); try { String uriString = uri.toString(); - if (!uriString.endsWith("/")) - uriString += "/"; + if (!uriString.endsWith("/")) //$NON-NLS-1$ + uriString += "/"; //$NON-NLS-1$ baseUrl = new URL(uriString); - objectsUrl = new URL(baseUrl, "objects/"); + objectsUrl = new URL(baseUrl, "objects/"); //$NON-NLS-1$ } catch (MalformedURLException e) { throw new NotSupportedException(MessageFormat.format(JGitText.get().invalidURL, uri), e); } @@ -333,8 +333,8 @@ private HttpURLConnection connect(final String service) b.append(Constants.INFO_REFS); if (useSmartHttp) { - b.append(b.indexOf("?") < 0 ? '?' : '&'); - b.append("service="); + b.append(b.indexOf("?") < 0 ? '?' : '&'); //$NON-NLS-1$ + b.append("service="); //$NON-NLS-1$ b.append(service); } @@ -348,10 +348,10 @@ private HttpURLConnection connect(final String service) for (;;) { final HttpURLConnection conn = httpOpen(u); if (useSmartHttp) { - String exp = "application/x-" + service + "-advertisement"; - conn.setRequestProperty(HDR_ACCEPT, exp + ", */*"); + String exp = "application/x-" + service + "-advertisement"; //$NON-NLS-1$ //$NON-NLS-2$ + conn.setRequestProperty(HDR_ACCEPT, exp + ", */*"); //$NON-NLS-1$ } else { - conn.setRequestProperty(HDR_ACCEPT, "*/*"); + conn.setRequestProperty(HDR_ACCEPT, "*/*"); //$NON-NLS-1$ } final int status = HttpSupport.response(conn); switch (status) { @@ -359,25 +359,27 @@ private HttpURLConnection connect(final String service) return conn; 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: authMethod = HttpAuthMethod.scanResponse(conn); if (authMethod == HttpAuthMethod.NONE) - throw new TransportException(uri, - "authentication not supported"); + throw new TransportException(uri, MessageFormat.format( + JGitText.get().authenticationNotSupported, uri)); if (1 < authAttempts || uri.getUser() == null) - throw new TransportException(uri, "not authorized"); + throw new TransportException(uri, + JGitText.get().notAuthorized); authMethod.authorize(uri); authAttempts++; continue; case HttpURLConnection.HTTP_FORBIDDEN: - throw new TransportException(uri, service - + " not permitted"); + throw new TransportException(uri, MessageFormat.format( + JGitText.get().serviceNotPermitted, service)); default: - String err = status + " " + conn.getResponseMessage(); + String err = status + " " + conn.getResponseMessage(); //$NON-NLS-1$ throw new TransportException(uri, err); } } @@ -400,7 +402,7 @@ final HttpURLConnection httpOpen(String method, URL u) throws IOException { conn.setRequestMethod(method); conn.setUseCaches(false); conn.setRequestProperty(HDR_ACCEPT_ENCODING, ENCODING_GZIP); - conn.setRequestProperty(HDR_PRAGMA, "no-cache");//$NON-NLS-1$ + conn.setRequestProperty(HDR_PRAGMA, "no-cache"); //$NON-NLS-1$ conn.setRequestProperty(HDR_USER_AGENT, userAgent); conn.setConnectTimeout(getTimeout() * 1000); conn.setReadTimeout(getTimeout() * 1000); @@ -422,7 +424,7 @@ IOException wrongContentType(String expType, String actType) { } 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(); return expType.equals(actType); } @@ -443,7 +445,7 @@ private void readSmartHeaders(final InputStream in, final String service) final PacketLineIn pckIn = new PacketLineIn(new UnionInputStream( new ByteArrayInputStream(magic), in)); - final String exp = "# service=" + service; + final String exp = "# service=" + service; //$NON-NLS-1$ final String act = pckIn.readString(); if (!exp.equals(act)) { throw new TransportException(uri, MessageFormat.format( @@ -500,7 +502,7 @@ Collection getPackNames() throws IOException { final String s = br.readLine(); if (s == null || s.length() == 0) 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); packs.add(s.substring(2)); } @@ -526,8 +528,8 @@ FileStream open(final String path) throws IOException { case HttpURLConnection.HTTP_NOT_FOUND: throw new FileNotFoundException(u.toString()); default: - throw new IOException(u.toString() + ": " - + HttpSupport.response(c) + " " + throw new IOException(u.toString() + ": " //$NON-NLS-1$ + + HttpSupport.response(c) + " " //$NON-NLS-1$ + c.getResponseMessage()); } } @@ -549,14 +551,14 @@ Map readAdvertisedImpl(final BufferedReader br) name = line.substring(tab + 1); id = ObjectId.fromString(line.substring(0, tab)); - if (name.endsWith("^{}")) { + if (name.endsWith("^{}")) { //$NON-NLS-1$ name = name.substring(0, name.length() - 3); final Ref prior = avail.get(name); if (prior == null) throw outOfOrderAdvertisement(name); if (prior.getPeeledObjectId() != null) - throw duplicateAdvertisement(name + "^{}"); + throw duplicateAdvertisement(name + "^{}"); //$NON-NLS-1$ avail.put(name, new ObjectIdRef.PeeledTag( Ref.Storage.NETWORK, name, @@ -667,8 +669,8 @@ class Service { Service(final String serviceName) { this.serviceName = serviceName; - this.requestType = "application/x-" + serviceName + "-request"; - this.responseType = "application/x-" + serviceName + "-result"; + this.requestType = "application/x-" + serviceName + "-request"; //$NON-NLS-1$ //$NON-NLS-2$ + this.responseType = "application/x-" + serviceName + "-result"; //$NON-NLS-1$ //$NON-NLS-2$ this.execute = new HttpExecuteStream(); this.in = new UnionInputStream(execute); @@ -725,7 +727,7 @@ void execute() throws IOException { final int status = HttpSupport.response(conn); if (status != HttpURLConnection.HTTP_OK) { - throw new TransportException(uri, status + " " + throw new TransportException(uri, status + " " //$NON-NLS-1$ + conn.getResponseMessage()); }