Skip to content

Commit 92b08d3

Browse files
committed
Filter early on non-constructible path
1 parent 2692481 commit 92b08d3

File tree

4 files changed

+14
-16
lines changed

4 files changed

+14
-16
lines changed

onedrive/src/main/java/ch/cyberduck/core/onedrive/AbstractDriveListService.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,17 @@ protected Path toPath(final Drive.Metadata metadata, final Path directory) {
4343
attributes.setSize(used);
4444
}
4545
}
46-
String name = metadata.getName();
47-
if(StringUtils.isBlank(metadata.getName())) {
48-
name = metadata.getId();
49-
}
50-
return new Path(directory, name, EnumSet.of(Path.Type.directory, Path.Type.volume), attributes);
46+
return new Path(directory, metadata.getName(), EnumSet.of(Path.Type.directory, Path.Type.volume), attributes);
5147
}
5248

5349
@Override
5450
protected boolean filter(final Path directory, final Metadata metadata) {
5551
if(StringUtils.isBlank(metadata.getId())) {
5652
return false;
5753
}
54+
if(StringUtils.isBlank(metadata.getName())) {
55+
return false;
56+
}
5857
return super.filter(directory, metadata);
5958
}
6059
}

onedrive/src/main/java/ch/cyberduck/core/onedrive/AbstractItemListService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
import org.apache.commons.lang3.StringUtils;
2727
import org.nuxeo.onedrive.client.types.DriveItem;
28-
import org.nuxeo.onedrive.client.types.DriveItem.Metadata;
2928

3029
import java.util.EnumSet;
3130

@@ -53,8 +52,9 @@ protected Path toPath(final DriveItem.Metadata metadata, final Path directory) {
5352
}
5453

5554
@Override
56-
protected boolean filter(final Path directory, final Metadata metadata) {
57-
if(StringUtils.isBlank(metadata.getId())) {
55+
protected boolean filter(final Path directory, final DriveItem.Metadata metadata) {
56+
// Don't filter on Id, as it is generated in toPath() from Session.
57+
if(StringUtils.isBlank(metadata.getName())) {
5858
return false;
5959
}
6060
return super.filter(directory, metadata);

onedrive/src/main/java/ch/cyberduck/core/onedrive/features/sharepoint/GroupListService.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,17 @@ protected Iterator<GroupItem.Metadata> getIterator(final Path directory) {
5252
protected Path toPath(final GroupItem.Metadata metadata, final Path directory) {
5353
final PathAttributes attributes = new PathAttributes();
5454
attributes.setFileId(metadata.getId());
55-
final String name;
56-
if(StringUtils.isBlank(metadata.getDisplayName())) {
57-
name = metadata.getId();
58-
}
59-
else {
60-
name = metadata.getDisplayName();
61-
}
62-
return new Path(directory, name, EnumSet.of(Path.Type.volume, Path.Type.directory, Path.Type.placeholder), attributes);
55+
return new Path(directory, metadata.getDisplayName(), EnumSet.of(Path.Type.volume, Path.Type.directory, Path.Type.placeholder), attributes);
6356
}
6457

6558
@Override
6659
protected boolean filter(final Path directory, final GroupItem.Metadata metadata) {
6760
if(StringUtils.isBlank(metadata.getId())) {
6861
return false;
6962
}
63+
if(StringUtils.isBlank(metadata.getDisplayName())) {
64+
return false;
65+
}
7066
return super.filter(directory, metadata);
7167
}
7268
}

onedrive/src/main/java/ch/cyberduck/core/onedrive/features/sharepoint/SitesListService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ protected boolean filter(final Path directory, final Metadata metadata) {
6363
if(StringUtils.isBlank(metadata.getId())) {
6464
return false;
6565
}
66+
if(StringUtils.isBlank(metadata.getName())) {
67+
return false;
68+
}
6669
if(!session.isSingleSite() && directory.getParent().isRoot()) {
6770
if(metadata.getRoot() == null) {
6871
return false;

0 commit comments

Comments
 (0)