Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 264111
Collapse All | Expand All

(-)src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java (-6 / +16 lines)
Lines 45-76 Link Here
45
		}
45
		}
46
	}
46
	}
47
47
48
	public void testGetActualLocation1() throws URISyntaxException {
48
	public void testGetActualLocation1() throws Exception {
49
		URI base = new URI("http://localhost/artifactRepository");
49
		URI base = new URI("http://localhost/artifactRepository");
50
		assertEquals(new URI(base + "/artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
50
		assertEquals(new URI(base + "/artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
51
	}
51
	}
52
52
53
	public void testGetActualLocation2() throws URISyntaxException {
53
	public void testGetActualLocation2() throws Exception {
54
		URI base = new URI("http://localhost/artifactRepository/");
54
		URI base = new URI("http://localhost/artifactRepository/");
55
		assertEquals(new URI(base + "artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
55
		assertEquals(new URI(base + "artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
56
	}
56
	}
57
57
58
	public void testGetActualLocation3() throws URISyntaxException {
58
	public void testGetActualLocation3() throws Exception {
59
		URI base = new URI("http://localhost/artifactRepository/artifacts.xml");
59
		URI base = new URI("http://localhost/artifactRepository/artifacts.xml");
60
		assertEquals(base, SimpleArtifactRepository.getActualLocation(base, false));
60
		assertEquals(base, SimpleArtifactRepository.getActualLocation(base, false));
61
	}
61
	}
62
62
63
	public void testGetActualLocationCompressed1() throws URISyntaxException {
63
	public void testGetActualLocationCompressed1() throws Exception {
64
		URI base = new URI("http://localhost/artifactRepository");
64
		URI base = new URI("http://localhost/artifactRepository");
65
		assertEquals(new URI(base + "/artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
65
		assertEquals(new URI(base + "/artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
66
	}
66
	}
67
67
68
	public void testGetActualLocationCompressed2() throws URISyntaxException {
68
	public void testGetActualLocationCompressed2() throws Exception {
69
		URI base = new URI("http://localhost/artifactRepository/");
69
		URI base = new URI("http://localhost/artifactRepository/");
70
		assertEquals(new URI(base + "artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
70
		assertEquals(new URI(base + "artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
71
	}
71
	}
72
72
73
	public void testGetActualLocationCompressed3() throws URISyntaxException {
73
	public void testGetActualLocationCompressed3() throws Exception {
74
		URI base = new URI("http://localhost/artifactRepository/artifacts.jar");
74
		URI base = new URI("http://localhost/artifactRepository/artifacts.jar");
75
		assertEquals(base, SimpleArtifactRepository.getActualLocation(base, true));
75
		assertEquals(base, SimpleArtifactRepository.getActualLocation(base, true));
76
	}
76
	}
Lines 141-146 Link Here
141
			fail("Repository should create artifact.xml");
141
			fail("Repository should create artifact.xml");
142
	}
142
	}
143
143
144
	public void testLoadInvalidLocation() {
145
		try {
146
			getArtifactRepositoryManager().loadRepository(new URI("file:d:/foo"), getMonitor());
147
		} catch (ProvisionException e) {
148
			//expected
149
		} catch (URISyntaxException e) {
150
			fail("4.99", e);
151
		}
152
	}
153
144
	public void test_248772() {
154
	public void test_248772() {
145
		SimpleArtifactRepositoryFactory factory = new SimpleArtifactRepositoryFactory();
155
		SimpleArtifactRepositoryFactory factory = new SimpleArtifactRepositoryFactory();
146
		URI location = null;
156
		URI location = null;
(-)src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepositoryFactory.java (-2 / +2 lines)
Lines 43-51 Link Here
43
			boolean compress = true;
43
			boolean compress = true;
44
			if (PROTOCOL_FILE.equals(location.getScheme())) {
44
			if (PROTOCOL_FILE.equals(location.getScheme())) {
45
				local = true;
45
				local = true;
46
				localFile = new File(CompositeArtifactRepository.getActualLocation(location, true).getPath());
46
				localFile = URIUtil.toFile(CompositeArtifactRepository.getActualLocation(location, true));
47
				if (!localFile.exists()) {
47
				if (!localFile.exists()) {
48
					localFile = new File(CompositeArtifactRepository.getActualLocation(location, false).getPath());
48
					localFile = URIUtil.toFile(CompositeArtifactRepository.getActualLocation(location, false));
49
					compress = false;
49
					compress = false;
50
				}
50
				}
51
			} else {
51
			} else {
(-)src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties (+1 lines)
Lines 19-24 Link Here
19
ecf_configuration_error=Transport initialization error.
19
ecf_configuration_error=Transport initialization error.
20
io_incompatibleVersion=\
20
io_incompatibleVersion=\
21
	Simple artifact repository has incompatible version {0}; expected {1}.
21
	Simple artifact repository has incompatible version {0}; expected {1}.
22
io_invalidLocation=Invalid repository location: {0}
22
mirroring=Mirroring:
23
mirroring=Mirroring:
23
24
24
repoFailedWrite=Unable to write to repository: {0}.
25
repoFailedWrite=Unable to write to repository: {0}.
(-)src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java (+1 lines)
Lines 22-27 Link Here
22
	public static String io_failedRead;
22
	public static String io_failedRead;
23
	public static String ecf_configuration_error;
23
	public static String ecf_configuration_error;
24
	public static String io_incompatibleVersion;
24
	public static String io_incompatibleVersion;
25
	public static String io_invalidLocation;
25
	public static String SignatureVerification_failedRead;
26
	public static String SignatureVerification_failedRead;
26
	public static String SignatureVerification_invalidContent;
27
	public static String SignatureVerification_invalidContent;
27
	public static String SignatureVerification_invalidFileContent;
28
	public static String SignatureVerification_invalidFileContent;
(-)src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java (-4 / +5 lines)
Lines 20-26 Link Here
20
import org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5Verifier;
20
import org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5Verifier;
21
import org.eclipse.equinox.internal.p2.artifact.repository.*;
21
import org.eclipse.equinox.internal.p2.artifact.repository.*;
22
import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
22
import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
23
import org.eclipse.equinox.internal.p2.core.helpers.*;
23
import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
24
import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
24
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
25
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
25
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.*;
26
import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.*;
26
import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
27
import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
Lines 217-227 Link Here
217
		}
218
		}
218
	}
219
	}
219
220
220
	public static URI getActualLocation(URI base, boolean compress) {
221
	public static URI getActualLocation(URI base, boolean compress) throws IOException {
221
		return getActualLocation(base, compress ? JAR_EXTENSION : XML_EXTENSION);
222
		return getActualLocation(base, compress ? JAR_EXTENSION : XML_EXTENSION);
222
	}
223
	}
223
224
224
	private static URI getActualLocation(URI base, String extension) {
225
	private static URI getActualLocation(URI base, String extension) throws IOException {
225
		final String name = CONTENT_FILENAME + extension;
226
		final String name = CONTENT_FILENAME + extension;
226
		String spec = base.toString();
227
		String spec = base.toString();
227
		if (spec.endsWith(name))
228
		if (spec.endsWith(name))
Lines 233-239 Link Here
233
		try {
234
		try {
234
			return new URI(spec);
235
			return new URI(spec);
235
		} catch (URISyntaxException e) {
236
		} catch (URISyntaxException e) {
236
			return null;
237
			throw new IOException(NLS.bind(Messages.io_invalidLocation, spec));
237
		}
238
		}
238
	}
239
	}
239
240
(-)src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java (-2 / +2 lines)
Lines 43-51 Link Here
43
			boolean compress = true;
43
			boolean compress = true;
44
			if (PROTOCOL_FILE.equals(location.getScheme())) {
44
			if (PROTOCOL_FILE.equals(location.getScheme())) {
45
				local = true;
45
				local = true;
46
				localFile = new File(SimpleArtifactRepository.getActualLocation(location, true).getPath());
46
				localFile = URIUtil.toFile(SimpleArtifactRepository.getActualLocation(location, true));
47
				if (!localFile.exists()) {
47
				if (!localFile.exists()) {
48
					localFile = new File(SimpleArtifactRepository.getActualLocation(location, false).getPath());
48
					localFile = URIUtil.toFile(SimpleArtifactRepository.getActualLocation(location, false));
49
					compress = false;
49
					compress = false;
50
				}
50
				}
51
			} else {
51
			} else {

Return to bug 264111