Skip to content

Commit 8c9436d

Browse files
committed
Added assertion in case no resource exists
1 parent db7bd89 commit 8c9436d

File tree

1 file changed

+16
-11
lines changed
  • core/sds-aspect-model-resolver/src/main/java/io/openmanufacturing/sds/aspectmodel/resolver

1 file changed

+16
-11
lines changed

core/sds-aspect-model-resolver/src/main/java/io/openmanufacturing/sds/aspectmodel/resolver/ClasspathStrategy.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.Comparator;
2525
import java.util.Enumeration;
2626
import java.util.List;
27+
import java.util.Optional;
2728
import java.util.jar.JarEntry;
2829
import java.util.jar.JarFile;
2930
import java.util.stream.Stream;
@@ -96,17 +97,9 @@ protected URL resourceUrl( final String directory, final String filename ) {
9697

9798
protected Stream<String> filesInDirectory( final String directory ) {
9899
try {
99-
final URL url = getClass().getClassLoader().getResource( directory );
100-
if(url == null)
101-
{
102-
return Stream.empty();
103-
}
104-
final String urlString = url.toString();
105-
final int jarIndex = urlString.indexOf( ".jar" );
106-
final String path = jarIndex > 0 ? urlString.substring( 0, jarIndex +4 ).replace( "jar:file:", "" ) : urlString;
107-
final File jarFile = new File(path);
108-
if(jarFile.isFile()) {
109-
return getFilesFromJar( directory, jarFile );
100+
final Optional<File> file = getDirectoryFile(directory);
101+
if(file.isPresent() && file.get().isFile()) {
102+
return getFilesFromJar( directory, file.get() );
110103
} else {
111104
return getFilesFromResources( directory );
112105
}
@@ -116,6 +109,18 @@ protected Stream<String> filesInDirectory( final String directory ) {
116109
}
117110
}
118111

112+
private Optional<File> getDirectoryFile( String directory ) {
113+
final URL url = getClass().getClassLoader().getResource( directory );
114+
if(url == null)
115+
{
116+
return Optional.empty();
117+
}
118+
final String urlString = url.toString();
119+
final int jarIndex = urlString.indexOf( ".jar" );
120+
final String path = jarIndex > 0 ? urlString.substring( 0, jarIndex +4 ).replace( "jar:file:", "" ) : urlString;
121+
return Optional.of(new File(path));
122+
}
123+
119124
private Stream<String> getFilesFromResources( String directory ) throws IOException {
120125
final InputStream directoryUrl = getClass().getClassLoader().getResourceAsStream( directory );
121126
if ( directoryUrl == null ) {

0 commit comments

Comments
 (0)