Files
RestSMS/app/src/main/java/net/xcreen/restsms/SMSServer.java
2018-09-27 15:26:48 +02:00

90 lines
2.2 KiB
Java

package net.xcreen.restsms;
import android.util.Log;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import javax.servlet.MultipartConfigElement;
public class SMSServer {
private int port = 8081;
private Server jettyServer;
public void start(String tmpDir) throws Exception{
Log.i("SMS-Server", "Starting Server...");
//Setup Jetty
jettyServer = new Server(port);
//Sms-Servlet
ServletContextHandler servletContextHandler = new ServletContextHandler();
ServletHolder smsServletHolder = new ServletHolder(new SMSServlet());
smsServletHolder.getRegistration().setMultipartConfig(new MultipartConfigElement(tmpDir));
servletContextHandler.addServlet(smsServletHolder, "/send");
jettyServer.setHandler(servletContextHandler);
//Start Jetty
jettyServer.start();
jettyServer.join();
}
/**
* Stopping Jetty-Server
* @throws Exception - Jetty Exception
*/
public void stop() throws Exception{
if(jettyServer != null) {
Log.i("SMS-Server", "Stopping Server...");
jettyServer.stop();
}
}
/**
* Checks if the Jetty is running
* @return boolean - true when server is running/starting/stopping, false otherwise
*/
public boolean isRunning(){
if(jettyServer != null){
if(jettyServer.isRunning()){
return true;
}
else if(jettyServer.isStopping()){
return true;
}
else{
return false;
}
}
else{
return false;
}
}
/**
* Checks if Jetty is stopping
* @return boolean - True when server is stopping
*/
public boolean isStopping(){
if(jettyServer != null) {
return jettyServer.isStopping();
}
else{
return false;
}
}
/**
* Set Server-Port
* @param port - Server-Port
*/
public void setPort(int port){
this.port = port;
}
}