package org.kevoree.library.javase.webserver.components;
import org.kevoree.annotation.*;
import org.kevoree.library.javase.webserver.AbstractPage;
import org.kevoree.library.javase.webserver.KevoreeHttpRequest;
import org.kevoree.library.javase.webserver.KevoreeHttpResponse;
import java.util.ArrayList;
/**
* Created by IntelliJ IDEA.
* User: duke
* Date: 09/11/11
* Time: 20:46
* To change this template use File | Settings | File Templates.
*/
@Provides({
@ProvidedPort(name = "input", type = PortType.MESSAGE)
})
@ComponentType
public class BufferPage extends AbstractPage {
private ArrayList<String> buffers = new ArrayList<String>();
@Port(name = "input")
public void onMessage(Object o) {
buffers.add(0,o.toString());
}
@Override
public KevoreeHttpResponse process(KevoreeHttpRequest request, KevoreeHttpResponse response) {
StringBuffer buffer = new StringBuffer();
buffer.append("<html>\n" +
"<head>\n" +
"<script type=\"text/JavaScript\">\n" +
"<!--\n" +
"function timedRefresh(timeoutPeriod) {\n" +
"\tsetTimeout(\"location.reload(true);\",timeoutPeriod);\n" +
"}\n" +
"// -->\n" +
"</script>\n" +
"</head>\n" +
"<body onload=\"JavaScript:timedRefresh(600);\">\n" );
for (String in : buffers) {
buffer.append(in + "<br />");
}
buffer.append("</body></html>");
response.setContent(buffer.toString());
return response;
}
}