Extension on downloaded file is being dropped (#9)
* TrelloAttachment: support all file extensions * Version set to 1.0.2
This commit is contained in:
parent
ad2a9ab098
commit
5999c33994
3 changed files with 36 additions and 8 deletions
2
pom.xml
2
pom.xml
|
@ -12,7 +12,7 @@
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>kemitix-trello</artifactId>
|
<artifactId>kemitix-trello</artifactId>
|
||||||
<version>1.0.1</version>
|
<version>1.0.2</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<tiles-maven-plugin.version>2.18</tiles-maven-plugin.version>
|
<tiles-maven-plugin.version>2.18</tiles-maven-plugin.version>
|
||||||
|
|
|
@ -9,6 +9,7 @@ import java.net.MalformedURLException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.channels.Channels;
|
import java.nio.channels.Channels;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class TrelloAttachment implements Attachment {
|
public class TrelloAttachment implements Attachment {
|
||||||
|
@ -17,7 +18,6 @@ public class TrelloAttachment implements Attachment {
|
||||||
Logger.getLogger(
|
Logger.getLogger(
|
||||||
TrelloAttachment.class.getName());
|
TrelloAttachment.class.getName());
|
||||||
|
|
||||||
private static final String[] EXTENSIONS = new String[]{"doc", "docx", "odt"};
|
|
||||||
private final com.julienvey.trello.domain.Attachment attachment;
|
private final com.julienvey.trello.domain.Attachment attachment;
|
||||||
private final Card card;
|
private final Card card;
|
||||||
private final AttachmentDirectory attachmentDirectory;
|
private final AttachmentDirectory attachmentDirectory;
|
||||||
|
@ -51,12 +51,10 @@ public class TrelloAttachment implements Attachment {
|
||||||
private String extension() {
|
private String extension() {
|
||||||
URI uri = URI.create(attachment.getUrl());
|
URI uri = URI.create(attachment.getUrl());
|
||||||
String path = uri.getPath();
|
String path = uri.getPath();
|
||||||
for (String ex : EXTENSIONS) {
|
return Optional.ofNullable(path)
|
||||||
if (path.endsWith("." + ex)) {
|
.filter(f -> f.contains("."))
|
||||||
return ex;
|
.map(f -> f.substring(path.lastIndexOf(".") + 1))
|
||||||
}
|
.orElse("");
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
30
src/test/java/net/kemitix/trello/TrelloAttachmentTest.java
Normal file
30
src/test/java/net/kemitix/trello/TrelloAttachmentTest.java
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
package net.kemitix.trello;
|
||||||
|
|
||||||
|
import com.julienvey.trello.domain.Attachment;
|
||||||
|
import com.julienvey.trello.domain.Card;
|
||||||
|
import org.assertj.core.api.WithAssertions;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class TrelloAttachmentTest
|
||||||
|
implements WithAssertions {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void regressionExtensionTruncated() {
|
||||||
|
//given
|
||||||
|
Attachment attachment = new Attachment();
|
||||||
|
attachment.setUrl("card-url.extension");
|
||||||
|
Card card = new Card();
|
||||||
|
card.setIdShort("123");
|
||||||
|
card.setName("card-name");
|
||||||
|
AttachmentDirectory dir = new AttachmentDirectoryImpl();
|
||||||
|
var trelloAttachment = TrelloAttachment.create(
|
||||||
|
attachment, card, dir
|
||||||
|
);
|
||||||
|
//when
|
||||||
|
File filename = trelloAttachment.getFilename();
|
||||||
|
//then
|
||||||
|
assertThat(filename.getName()).endsWith(".extension");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue