public void criticalNotification(WrappedRequest request,
WrappedResponse response, String cap, String msg,
String details, String outOfSyncURL) throws IOException;
-
- public InputStream getThemeResourceAsStream(String themeName,
- String resource) throws IOException;
-
}
static class UploadInterruptedException extends Exception {
outWriter.print(getSecurityKeyUIDL(request));
}
- writeUidlResponce(callback, repaintAll, outWriter, root, analyzeLayouts);
+ writeUidlResponce(repaintAll, outWriter, root, analyzeLayouts);
closeJsonMessage(outWriter);
return seckey;
}
- public void writeUidlResponce(Callback callback, boolean repaintAll,
+ public void writeUidlResponce(boolean repaintAll,
final PrintWriter outWriter, Root root, boolean analyzeLayouts)
throws PaintException {
outWriter.print("\"changes\":[");
final String resource = (String) i.next();
InputStream is = null;
try {
- is = callback
- .getThemeResourceAsStream(getTheme(root), resource);
+ is = getThemeResourceAsStream(root, getTheme(root), resource);
} catch (final Exception e) {
// FIXME: Handle exception
logger.log(Level.FINER, "Failed to get theme resource stream.",
}
}
+ protected abstract InputStream getThemeResourceAsStream(Root root,
+ String themeName, String resource);
+
private int getTimeoutInterval() {
return maxInactiveInterval;
}
private String getTheme(Root root) {
- String themeName = null;// window.getTheme();
+ String themeName = root.getApplication().getThemeForRoot(root);
String requestThemeName = getRequestTheme();
if (requestThemeName != null) {
if (isXSRFEnabled(root.getApplication())) {
pWriter.print(getSecurityKeyUIDL(request));
}
- writeUidlResponce(null, true, pWriter, root, false);
+ writeUidlResponce(true, pWriter, root, false);
pWriter.print("}");
String initialUIDL = sWriter.toString();
return initialUIDL;
package com.vaadin.terminal.gwt.server;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import javax.servlet.ServletContext;
+
import com.vaadin.Application;
import com.vaadin.terminal.PaintException;
import com.vaadin.terminal.Paintable;
}
};
}
+
+ @Override
+ protected InputStream getThemeResourceAsStream(Root root, String themeName,
+ String resource) {
+ WebApplicationContext context = (WebApplicationContext) root
+ .getApplication().getContext();
+ ServletContext servletContext = context.getHttpSession()
+ .getServletContext();
+ return servletContext.getResourceAsStream("/"
+ + AbstractApplicationServlet.THEME_DIRECTORY_PATH + themeName
+ + "/" + resource);
+ }
}
package com.vaadin.terminal.gwt.server;
import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import javax.portlet.MimeResponse;
+import javax.portlet.PortletContext;
import javax.portlet.PortletRequest;
import javax.portlet.PortletResponse;
import javax.portlet.RenderRequest;
}
+ @Override
+ protected InputStream getThemeResourceAsStream(Root root, String themeName,
+ String resource) {
+ PortletApplicationContext2 context = (PortletApplicationContext2) root
+ .getApplication().getContext();
+ PortletContext portletContext = context.getPortletSession()
+ .getPortletContext();
+ return portletContext.getResourceAsStream("/"
+ + AbstractApplicationPortlet.THEME_DIRECTORY_PATH + themeName
+ + "/" + resource);
+ }
+
}