package org.example.utils.vaadinbridge.internal;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.example.utils.vaadinbridge.ApplicationFactory;
import com.vaadin.Application;
import com.vaadin.Application.SystemMessages;
import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
class ApplicationFactoryServlet extends AbstractApplicationServlet {
private static final long serialVersionUID = 1L;
private final ApplicationFactory factory;
ApplicationFactoryServlet(ApplicationFactory factory) {
this.factory = factory;
}
@Override
protected Application getNewApplication(HttpServletRequest request) throws ServletException {
return factory.newInstance();
}
@Override
protected Class<? extends Application> getApplicationClass() {
return null;
}
@Override
protected String getApplicationCSSClassName() {
return factory.getApplicationCSSClassName();
}
@Override
protected SystemMessages getSystemMessages() {
SystemMessages messages = factory.getSystemMessages();
return messages != null ? messages : Application.getSystemMessages();
}
}