Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Dr. Martin Goik
GoikLectures
Commits
077ce169
Commit
077ce169
authored
Jul 08, 2020
by
Dr. Martin Goik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
NO_DRIVE
parent
b8b99a4e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
11 deletions
+17
-11
P/Sd1/Filepath/src/main/java/de/hdm_stuttgart/mi/sd1/filepath/FileMetaInfo.java
...n/java/de/hdm_stuttgart/mi/sd1/filepath/FileMetaInfo.java
+11
-5
P/Sd1/Filepath/src/test/java/de/hdm_stuttgart/mi/sd1/filepath/MetaInfoUnixTest.java
...va/de/hdm_stuttgart/mi/sd1/filepath/MetaInfoUnixTest.java
+4
-4
P/Sd1/Filepath/src/test/java/de/hdm_stuttgart/mi/sd1/filepath/MetaInfoWindowsTest.java
...de/hdm_stuttgart/mi/sd1/filepath/MetaInfoWindowsTest.java
+2
-2
No files found.
P/Sd1/Filepath/src/main/java/de/hdm_stuttgart/mi/sd1/filepath/FileMetaInfo.java
View file @
077ce169
...
...
@@ -8,13 +8,19 @@ import java.util.StringTokenizer;
*
*/
public
class
FileMetaInfo
{
/**
* This is »/« on Unix/MacOS and »\« on Windows file systems.
*/
static
public
final
char
fileSeparatorChar
=
System
.
getProperty
(
"file.separator"
).
charAt
(
0
);
static
public
final
String
fileSeparatorString
=
// Essentially the same, but we'd otherwise need tons of
System
.
getProperty
(
"file.separator"
);
// String.valueOf(fileSeparatorChar) calls cluttering our code
public
static
final
char
noDrive
=
0
;
/**
* Indicating the absence of a drive letter like e.g. »C:«
*/
public
static
final
char
NO_DRIVE
=
0
;
static
final
boolean
isWindowsOs
=
System
.
getProperty
(
"os.name"
).
startsWith
(
"Windows"
);
// true for Windows ... XP / 7 / 8 / 10 / ...
...
...
@@ -45,11 +51,11 @@ public class FileMetaInfo {
pathComponents
=
new
StringTokenizer
(
filePathName
.
substring
(
2
),
fileSeparatorString
);
// Ignoring first two drive related letters
}
else
{
// relative path not starting with a drive letter
isRelative
=
true
;
drive
=
noDrive
;
drive
=
NO_DRIVE
;
pathComponents
=
new
StringTokenizer
(
filePathName
,
fileSeparatorString
);
}
}
else
{
drive
=
noDrive
;
drive
=
NO_DRIVE
;
if
(
filePathName
.
charAt
(
0
)
==
fileSeparatorChar
)
{
isRelative
=
false
;
}
else
{
...
...
P/Sd1/Filepath/src/test/java/de/hdm_stuttgart/mi/sd1/filepath/MetaInfoUnixTest.java
View file @
077ce169
...
...
@@ -20,7 +20,7 @@ public class MetaInfoUnixTest {
final
FileMetaInfo
fmi
=
new
FileMetaInfo
(
"/usr/openvpn/hdm"
);
Assert
.
assertFalse
(
fmi
.
isRelative
);
Assert
.
assertEquals
(
FileMetaInfo
.
noDrive
,
fmi
.
drive
);
Assert
.
assertEquals
(
FileMetaInfo
.
NO_DRIVE
,
fmi
.
drive
);
Assert
.
assertEquals
(
"/usr/openvpn"
,
fmi
.
path
);
Assert
.
assertEquals
(
"hdm"
,
fmi
.
basename
);
Assert
.
assertEquals
(
null
,
fmi
.
extension
);
...
...
@@ -33,7 +33,7 @@ public class MetaInfoUnixTest {
final
FileMetaInfo
fmi
=
new
FileMetaInfo
(
"/usr/openvpn/hdm.conf"
);
Assert
.
assertFalse
(
fmi
.
isRelative
);
Assert
.
assertEquals
(
FileMetaInfo
.
noDrive
,
fmi
.
drive
);
Assert
.
assertEquals
(
FileMetaInfo
.
NO_DRIVE
,
fmi
.
drive
);
Assert
.
assertEquals
(
"/usr/openvpn"
,
fmi
.
path
);
Assert
.
assertEquals
(
"hdm"
,
fmi
.
basename
);
Assert
.
assertEquals
(
"conf"
,
fmi
.
extension
);
...
...
@@ -46,7 +46,7 @@ public class MetaInfoUnixTest {
final
FileMetaInfo
fmi
=
new
FileMetaInfo
(
"../Desktop/icon"
);
Assert
.
assertTrue
(
fmi
.
isRelative
);
Assert
.
assertEquals
(
FileMetaInfo
.
noDrive
,
fmi
.
drive
);
Assert
.
assertEquals
(
FileMetaInfo
.
NO_DRIVE
,
fmi
.
drive
);
Assert
.
assertEquals
(
"../Desktop"
,
fmi
.
path
);
Assert
.
assertEquals
(
"icon"
,
fmi
.
basename
);
Assert
.
assertEquals
(
null
,
fmi
.
extension
);
...
...
@@ -59,7 +59,7 @@ public class MetaInfoUnixTest {
final
FileMetaInfo
fmi
=
new
FileMetaInfo
(
"../../Desktop/icon.gif"
);
Assert
.
assertTrue
(
fmi
.
isRelative
);
Assert
.
assertEquals
(
FileMetaInfo
.
noDrive
,
fmi
.
drive
);
Assert
.
assertEquals
(
FileMetaInfo
.
NO_DRIVE
,
fmi
.
drive
);
Assert
.
assertEquals
(
"../../Desktop"
,
fmi
.
path
);
Assert
.
assertEquals
(
"icon"
,
fmi
.
basename
);
Assert
.
assertEquals
(
"gif"
,
fmi
.
extension
);
...
...
P/Sd1/Filepath/src/test/java/de/hdm_stuttgart/mi/sd1/filepath/MetaInfoWindowsTest.java
View file @
077ce169
...
...
@@ -46,7 +46,7 @@ public class MetaInfoWindowsTest {
final
FileMetaInfo
fmi
=
new
FileMetaInfo
(
"..\\Desktop\\icon"
);
Assert
.
assertTrue
(
fmi
.
isRelative
);
Assert
.
assertEquals
(
FileMetaInfo
.
noDrive
,
fmi
.
drive
);
Assert
.
assertEquals
(
FileMetaInfo
.
NO_DRIVE
,
fmi
.
drive
);
Assert
.
assertEquals
(
"..\\Desktop"
,
fmi
.
path
);
Assert
.
assertEquals
(
"icon"
,
fmi
.
basename
);
Assert
.
assertEquals
(
null
,
fmi
.
extension
);
...
...
@@ -59,7 +59,7 @@ public class MetaInfoWindowsTest {
final
FileMetaInfo
fmi
=
new
FileMetaInfo
(
"..\\..\\Desktop\\icon.gif"
);
Assert
.
assertTrue
(
fmi
.
isRelative
);
Assert
.
assertEquals
(
FileMetaInfo
.
noDrive
,
fmi
.
drive
);
Assert
.
assertEquals
(
FileMetaInfo
.
NO_DRIVE
,
fmi
.
drive
);
Assert
.
assertEquals
(
"..\\..\\Desktop"
,
fmi
.
path
);
Assert
.
assertEquals
(
"icon"
,
fmi
.
basename
);
Assert
.
assertEquals
(
"gif"
,
fmi
.
extension
);
...
...
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