Output the current state if it’s an output state.
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / triggers / AlwaysTrigger.java
index b9ec39a..b916237 100644 (file)
@@ -22,6 +22,7 @@ import net.pterodactylus.rhynodge.State;
 import net.pterodactylus.rhynodge.Trigger;
 import net.pterodactylus.rhynodge.output.DefaultOutput;
 import net.pterodactylus.rhynodge.output.Output;
+import net.pterodactylus.rhynodge.states.OutputState;
 
 /**
  * {@link Trigger} implementation that always triggers.
@@ -58,7 +59,18 @@ public class AlwaysTrigger implements Trigger {
         */
        @Override
        public Output output(Reaction reaction) {
-               return new DefaultOutput("true").addText("text/plain", "true").addText("text/html", "<div>true</div>");
+               DefaultOutput output = new DefaultOutput(reaction.name());
+               if (currentState instanceof OutputState) {
+                       OutputState outputState = (OutputState) currentState;
+                       if (outputState.plainTextOutput().isPresent()) {
+                               output = output.addText("text/plain", outputState.plainTextOutput().get());
+                       }
+                       if (outputState.htmlOutput().isPresent()) {
+                               output = output.addText("text/html", outputState.htmlOutput().get());
+                       }
+                       return output;
+               }
+               return output.addText("text/plain", "true").addText("text/html", "<div>true</div>");
        }
 
 }