]> git.basschouten.com Git - openhab-addons.git/commitdiff
[picotts] Add null annotations (#10392)
authorWouter Born <github@maindrain.net>
Sat, 27 Mar 2021 17:34:00 +0000 (18:34 +0100)
committerGitHub <noreply@github.com>
Sat, 27 Mar 2021 17:34:00 +0000 (18:34 +0100)
Signed-off-by: Wouter Born <github@maindrain.net>
bundles/org.openhab.voice.picotts/src/main/java/org/openhab/voice/picotts/internal/PicoTTSAudioStream.java
bundles/org.openhab.voice.picotts/src/main/java/org/openhab/voice/picotts/internal/PicoTTSService.java
bundles/org.openhab.voice.picotts/src/main/java/org/openhab/voice/picotts/internal/PicoTTSVoice.java

index 681e033362d094598df6bc31d496ab26167734de..73986df1b3d96f4ef5ce8fe07b496ecca3d5913e 100644 (file)
@@ -18,6 +18,8 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.core.audio.AudioException;
 import org.openhab.core.audio.AudioFormat;
 import org.openhab.core.audio.AudioStream;
@@ -29,6 +31,7 @@ import org.openhab.core.voice.Voice;
  *
  * @author Florian Schmidt - Initial Contribution
  */
+@NonNullByDefault
 class PicoTTSAudioStream extends FixedLengthAudioStream {
     private final Voice voice;
     private final String text;
@@ -36,7 +39,7 @@ class PicoTTSAudioStream extends FixedLengthAudioStream {
     private final InputStream inputStream;
 
     private long length;
-    private File file;
+    private @Nullable File file;
 
     public PicoTTSAudioStream(String text, Voice voice, AudioFormat audioFormat) throws AudioException {
         this.text = text;
@@ -57,7 +60,8 @@ class PicoTTSAudioStream extends FixedLengthAudioStream {
         try {
             Process process = Runtime.getRuntime().exec(command);
             process.waitFor();
-            file = new File(outputFile);
+            File file = new File(outputFile);
+            this.file = file;
             this.length = file.length();
             return getFileInputStream(file);
         } catch (IOException e) {
@@ -68,9 +72,6 @@ class PicoTTSAudioStream extends FixedLengthAudioStream {
     }
 
     private InputStream getFileInputStream(File file) throws AudioException {
-        if (file == null) {
-            throw new IllegalArgumentException("file must not be null");
-        }
         if (file.exists()) {
             try {
                 return new FileInputStream(file);
@@ -119,6 +120,7 @@ class PicoTTSAudioStream extends FixedLengthAudioStream {
 
     @Override
     public InputStream getClonedStream() throws AudioException {
+        File file = this.file;
         if (file != null) {
             return getFileInputStream(file);
         } else {
index f0081be4378e2e7f10883c7d8923394a280382b5..10a62b25d4c9ea124dc4e6a39116258c89c8d4c4 100644 (file)
@@ -18,6 +18,8 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.core.audio.AudioException;
 import org.openhab.core.audio.AudioFormat;
 import org.openhab.core.audio.AudioStream;
@@ -30,6 +32,7 @@ import org.osgi.service.component.annotations.Component;
  * @author Florian Schmidt - Initial Contribution
  */
 @Component
+@NonNullByDefault
 public class PicoTTSService implements TTSService {
     private final Set<Voice> voices = Stream
             .of(new PicoTTSVoice("de-DE"), new PicoTTSVoice("en-US"), new PicoTTSVoice("en-GB"),
@@ -51,8 +54,8 @@ public class PicoTTSService implements TTSService {
 
     @Override
     public AudioStream synthesize(String text, Voice voice, AudioFormat requestedFormat) throws TTSException {
-        if (text == null || text.isEmpty()) {
-            throw new TTSException("The passed text can not be null or empty");
+        if (text.isEmpty()) {
+            throw new TTSException("The passed text can not be empty");
         }
 
         if (!this.voices.contains(voice)) {
@@ -80,7 +83,7 @@ public class PicoTTSService implements TTSService {
     }
 
     @Override
-    public String getLabel(Locale locale) {
+    public String getLabel(@Nullable Locale locale) {
         return "PicoTTS";
     }
 }
index afe9bfeef91835834dfff39fa683477042663db6..fd6e9fe24f10b01fdb10374f51875d8ba6c24b32 100644 (file)
@@ -14,6 +14,7 @@ package org.openhab.voice.picotts.internal;
 
 import java.util.Locale;
 
+import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.openhab.core.voice.Voice;
 
 /**
@@ -21,6 +22,7 @@ import org.openhab.core.voice.Voice;
  *
  * @author Florian Schmidt - Initial Contribution
  */
+@NonNullByDefault
 public class PicoTTSVoice implements Voice {
     private final String languageTag;