Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
696aedae
Commit
696aedae
authored
Apr 04, 2018
by
Phillip Webb
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.5.x'
parents
799e1ba0
624a5f82
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
28 additions
and
5 deletions
+28
-5
JarURLConnection.java
...org/springframework/boot/loader/jar/JarURLConnection.java
+7
-3
TestJarCreator.java
.../java/org/springframework/boot/loader/TestJarCreator.java
+1
-0
ExplodedArchiveTests.java
...ngframework/boot/loader/archive/ExplodedArchiveTests.java
+1
-1
JarFileArchiveTests.java
...ingframework/boot/loader/archive/JarFileArchiveTests.java
+1
-1
CentralDirectoryParserTests.java
...ramework/boot/loader/jar/CentralDirectoryParserTests.java
+1
-0
JarFileTests.java
...ava/org/springframework/boot/loader/jar/JarFileTests.java
+2
-0
JarURLConnectionTests.java
...pringframework/boot/loader/jar/JarURLConnectionTests.java
+15
-0
No files found.
spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/JarURLConnection.java
View file @
696aedae
...
@@ -257,10 +257,10 @@ final class JarURLConnection extends java.net.JarURLConnection {
...
@@ -257,10 +257,10 @@ final class JarURLConnection extends java.net.JarURLConnection {
int
index
=
indexOfRootSpec
(
spec
,
jarFile
.
getPathFromRoot
());
int
index
=
indexOfRootSpec
(
spec
,
jarFile
.
getPathFromRoot
());
int
separator
;
int
separator
;
while
((
separator
=
spec
.
indexOf
(
SEPARATOR
,
index
))
>
0
)
{
while
((
separator
=
spec
.
indexOf
(
SEPARATOR
,
index
))
>
0
)
{
StringSequence
entryName
=
spec
.
subSequence
(
index
,
separator
);
JarEntryName
entryName
=
JarEntryName
.
get
(
spec
.
subSequence
(
index
,
separator
)
);
JarEntry
jarEntry
=
jarFile
.
getJarEntry
(
entryName
);
JarEntry
jarEntry
=
jarFile
.
getJarEntry
(
entryName
.
toCharSequence
()
);
if
(
jarEntry
==
null
)
{
if
(
jarEntry
==
null
)
{
return
JarURLConnection
.
notFound
(
jarFile
,
JarEntryName
.
get
(
entryName
)
);
return
JarURLConnection
.
notFound
(
jarFile
,
entryName
);
}
}
jarFile
=
jarFile
.
getNestedJarFile
(
jarEntry
);
jarFile
=
jarFile
.
getNestedJarFile
(
jarEntry
);
index
=
separator
+
SEPARATOR
.
length
();
index
=
separator
+
SEPARATOR
.
length
();
...
@@ -360,6 +360,10 @@ final class JarURLConnection extends java.net.JarURLConnection {
...
@@ -360,6 +360,10 @@ final class JarURLConnection extends java.net.JarURLConnection {
return
((
char
)
((
hi
<<
4
)
+
lo
));
return
((
char
)
((
hi
<<
4
)
+
lo
));
}
}
public
CharSequence
toCharSequence
()
{
return
this
.
name
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
this
.
name
.
toString
();
return
this
.
name
.
toString
();
...
...
spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/TestJarCreator.java
View file @
696aedae
...
@@ -51,6 +51,7 @@ public abstract class TestJarCreator {
...
@@ -51,6 +51,7 @@ public abstract class TestJarCreator {
writeNestedEntry
(
"nested.jar"
,
unpackNested
,
jarOutputStream
);
writeNestedEntry
(
"nested.jar"
,
unpackNested
,
jarOutputStream
);
writeNestedEntry
(
"another-nested.jar"
,
unpackNested
,
jarOutputStream
);
writeNestedEntry
(
"another-nested.jar"
,
unpackNested
,
jarOutputStream
);
writeNestedEntry
(
"space nested.jar"
,
unpackNested
,
jarOutputStream
);
}
}
}
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/archive/ExplodedArchiveTests.java
View file @
696aedae
...
@@ -108,7 +108,7 @@ public class ExplodedArchiveTests {
...
@@ -108,7 +108,7 @@ public class ExplodedArchiveTests {
@Test
@Test
public
void
getEntries
()
{
public
void
getEntries
()
{
Map
<
String
,
Archive
.
Entry
>
entries
=
getEntriesMap
(
this
.
archive
);
Map
<
String
,
Archive
.
Entry
>
entries
=
getEntriesMap
(
this
.
archive
);
assertThat
(
entries
.
size
()).
isEqualTo
(
1
0
);
assertThat
(
entries
.
size
()).
isEqualTo
(
1
1
);
}
}
@Test
@Test
...
...
spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/archive/JarFileArchiveTests.java
View file @
696aedae
...
@@ -82,7 +82,7 @@ public class JarFileArchiveTests {
...
@@ -82,7 +82,7 @@ public class JarFileArchiveTests {
@Test
@Test
public
void
getEntries
()
{
public
void
getEntries
()
{
Map
<
String
,
Archive
.
Entry
>
entries
=
getEntriesMap
(
this
.
archive
);
Map
<
String
,
Archive
.
Entry
>
entries
=
getEntriesMap
(
this
.
archive
);
assertThat
(
entries
.
size
()).
isEqualTo
(
1
0
);
assertThat
(
entries
.
size
()).
isEqualTo
(
1
1
);
}
}
@Test
@Test
...
...
spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/CentralDirectoryParserTests.java
View file @
696aedae
...
@@ -81,6 +81,7 @@ public class CentralDirectoryParserTests {
...
@@ -81,6 +81,7 @@ public class CentralDirectoryParserTests {
assertThat
(
headers
.
next
().
getName
().
toString
()).
isEqualTo
(
"special/\u00EB.dat"
);
assertThat
(
headers
.
next
().
getName
().
toString
()).
isEqualTo
(
"special/\u00EB.dat"
);
assertThat
(
headers
.
next
().
getName
().
toString
()).
isEqualTo
(
"nested.jar"
);
assertThat
(
headers
.
next
().
getName
().
toString
()).
isEqualTo
(
"nested.jar"
);
assertThat
(
headers
.
next
().
getName
().
toString
()).
isEqualTo
(
"another-nested.jar"
);
assertThat
(
headers
.
next
().
getName
().
toString
()).
isEqualTo
(
"another-nested.jar"
);
assertThat
(
headers
.
next
().
getName
().
toString
()).
isEqualTo
(
"space nested.jar"
);
assertThat
(
headers
.
hasNext
()).
isFalse
();
assertThat
(
headers
.
hasNext
()).
isFalse
();
}
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/JarFileTests.java
View file @
696aedae
...
@@ -93,6 +93,7 @@ public class JarFileTests {
...
@@ -93,6 +93,7 @@ public class JarFileTests {
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"special/\u00EB.dat"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"special/\u00EB.dat"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"another-nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"another-nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"space nested.jar"
);
assertThat
(
entries
.
hasMoreElements
()).
isFalse
();
assertThat
(
entries
.
hasMoreElements
()).
isFalse
();
URL
jarUrl
=
new
URL
(
"jar:"
+
this
.
rootJarFile
.
toURI
()
+
"!/"
);
URL
jarUrl
=
new
URL
(
"jar:"
+
this
.
rootJarFile
.
toURI
()
+
"!/"
);
URLClassLoader
urlClassLoader
=
new
URLClassLoader
(
new
URL
[]
{
jarUrl
});
URLClassLoader
urlClassLoader
=
new
URLClassLoader
(
new
URL
[]
{
jarUrl
});
...
@@ -135,6 +136,7 @@ public class JarFileTests {
...
@@ -135,6 +136,7 @@ public class JarFileTests {
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"special/\u00EB.dat"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"special/\u00EB.dat"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"another-nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"another-nested.jar"
);
assertThat
(
entries
.
nextElement
().
getName
()).
isEqualTo
(
"space nested.jar"
);
assertThat
(
entries
.
hasMoreElements
()).
isFalse
();
assertThat
(
entries
.
hasMoreElements
()).
isFalse
();
}
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/JarURLConnectionTests.java
View file @
696aedae
...
@@ -134,6 +134,21 @@ public class JarURLConnectionTests {
...
@@ -134,6 +134,21 @@ public class JarURLConnectionTests {
.
hasSameContentAs
(
new
ByteArrayInputStream
(
new
byte
[]
{
3
}));
.
hasSameContentAs
(
new
ByteArrayInputStream
(
new
byte
[]
{
3
}));
}
}
@Test
public
void
connectionToEntryWithSpaceNestedEntry
()
throws
Exception
{
URL
url
=
new
URL
(
"jar:file:"
+
getRelativePath
()
+
"!/space nested.jar!/3.dat"
);
assertThat
(
JarURLConnection
.
get
(
url
,
this
.
jarFile
).
getInputStream
())
.
hasSameContentAs
(
new
ByteArrayInputStream
(
new
byte
[]
{
3
}));
}
@Test
public
void
connectionToEntryWithEncodedSpaceNestedEntry
()
throws
Exception
{
URL
url
=
new
URL
(
"jar:file:"
+
getRelativePath
()
+
"!/space%20nested.jar!/3.dat"
);
assertThat
(
JarURLConnection
.
get
(
url
,
this
.
jarFile
).
getInputStream
())
.
hasSameContentAs
(
new
ByteArrayInputStream
(
new
byte
[]
{
3
}));
}
@Test
@Test
public
void
getContentLengthReturnsLengthOfUnderlyingEntry
()
throws
Exception
{
public
void
getContentLengthReturnsLengthOfUnderlyingEntry
()
throws
Exception
{
URL
url
=
new
URL
(
new
URL
(
"jar"
,
null
,
-
1
,
URL
url
=
new
URL
(
new
URL
(
"jar"
,
null
,
-
1
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment