summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-09-06 13:46:30 +0300
committerLeif Åstrand <leif@vaadin.com>2012-09-06 17:07:48 +0300
commitcf31c3c750e699c09a045a9e740bb4daf2c90a75 (patch)
treef4fb93f701305b587fd6b2dd000925ef170d8a07 /server
parentb9ff0e2cee370f0b489f36a13ec2a98f3cdccf96 (diff)
downloadvaadin-framework-cf31c3c750e699c09a045a9e740bb4daf2c90a75.tar.gz
vaadin-framework-cf31c3c750e699c09a045a9e740bb4daf2c90a75.zip
Remove some 'Application' from CommunicationManager (#9402)
Diffstat (limited to 'server')
-rw-r--r--server/src/com/vaadin/server/AbstractCommunicationManager.java139
-rw-r--r--server/src/com/vaadin/server/CommunicationManager.java17
-rw-r--r--server/src/com/vaadin/server/PortletCommunicationManager.java4
3 files changed, 72 insertions, 88 deletions
diff --git a/server/src/com/vaadin/server/AbstractCommunicationManager.java b/server/src/com/vaadin/server/AbstractCommunicationManager.java
index 5b4a334660..280ee405f0 100644
--- a/server/src/com/vaadin/server/AbstractCommunicationManager.java
+++ b/server/src/com/vaadin/server/AbstractCommunicationManager.java
@@ -140,9 +140,9 @@ public abstract class AbstractCommunicationManager implements Serializable {
private static final String GET_PARAM_ANALYZE_LAYOUTS = "analyzeLayouts";
/**
- * The application this communication manager is used for
+ * The session this communication manager is used for
*/
- private final VaadinSession application;
+ private final VaadinSession session;
private List<String> locales;
@@ -167,18 +167,18 @@ public abstract class AbstractCommunicationManager implements Serializable {
/**
* TODO New constructor - document me!
*
- * @param application
+ * @param session
*/
- public AbstractCommunicationManager(VaadinSession application) {
- this.application = application;
- application.addRequestHandler(getBootstrapHandler());
- application.addRequestHandler(UNSUPPORTED_BROWSER_HANDLER);
- application.addRequestHandler(CONNECTOR_RESOURCE_HANDLER);
- requireLocale(application.getLocale().toString());
+ public AbstractCommunicationManager(VaadinSession session) {
+ this.session = session;
+ session.addRequestHandler(getBootstrapHandler());
+ session.addRequestHandler(UNSUPPORTED_BROWSER_HANDLER);
+ session.addRequestHandler(CONNECTOR_RESOURCE_HANDLER);
+ requireLocale(session.getLocale().toString());
}
- protected VaadinSession getApplication() {
- return application;
+ protected VaadinSession getVaadinSession() {
+ return session;
}
private static final int LF = "\n".getBytes()[0];
@@ -294,8 +294,8 @@ public abstract class AbstractCommunicationManager implements Serializable {
cleanStreamVariable(owner, variableName);
}
} catch (Exception e) {
- synchronized (application) {
- handleChangeVariablesError(application, (Component) owner, e,
+ synchronized (session) {
+ handleChangeVariablesError(session, (Component) owner, e,
new HashMap<String, Object>());
}
}
@@ -339,8 +339,8 @@ public abstract class AbstractCommunicationManager implements Serializable {
cleanStreamVariable(owner, variableName);
}
} catch (Exception e) {
- synchronized (application) {
- handleChangeVariablesError(application, (Component) owner, e,
+ synchronized (session) {
+ handleChangeVariablesError(session, (Component) owner, e,
new HashMap<String, Object>());
}
}
@@ -365,7 +365,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
"StreamVariable for the post not found");
}
- final VaadinSession application = getApplication();
+ final VaadinSession session = getVaadinSession();
OutputStream out = null;
int totalBytes = 0;
@@ -373,7 +373,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
filename, type, contentLength);
try {
boolean listenProgress;
- synchronized (application) {
+ synchronized (session) {
streamVariable.streamingStarted(startedEvent);
out = streamVariable.getOutputStream();
listenProgress = streamVariable.listenProgress();
@@ -397,7 +397,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
if (listenProgress) {
// update progress if listener set and contentLength
// received
- synchronized (application) {
+ synchronized (session) {
StreamingProgressEventImpl progressEvent = new StreamingProgressEventImpl(
filename, type, contentLength, totalBytes);
streamVariable.onProgress(progressEvent);
@@ -412,7 +412,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
out.close();
StreamingEndEvent event = new StreamingEndEventImpl(filename, type,
totalBytes);
- synchronized (application) {
+ synchronized (session) {
streamVariable.streamingFinished(event);
}
@@ -421,19 +421,17 @@ public abstract class AbstractCommunicationManager implements Serializable {
tryToCloseStream(out);
StreamingErrorEvent event = new StreamingErrorEventImpl(filename,
type, contentLength, totalBytes, e);
- synchronized (application) {
+ synchronized (session) {
streamVariable.streamingFailed(event);
}
// Note, we are not throwing interrupted exception forward as it is
// not a terminal level error like all other exception.
} catch (final Exception e) {
tryToCloseStream(out);
- synchronized (application) {
+ synchronized (session) {
StreamingErrorEvent event = new StreamingErrorEventImpl(
filename, type, contentLength, totalBytes, e);
- synchronized (application) {
- streamVariable.streamingFailed(event);
- }
+ streamVariable.streamingFailed(event);
// throw exception for terminal to be handled (to be passed to
// terminalErrorHandler)
throw new UploadException(e);
@@ -494,8 +492,8 @@ public abstract class AbstractCommunicationManager implements Serializable {
* to process any changes to variables by the client and then repaints
* affected components using {@link #paintAfterVariableChanges()}.
*
- * Also, some cleanup is done when a request arrives for an application that
- * has already been closed.
+ * Also, some cleanup is done when a request arrives for an session that has
+ * already been closed.
*
* The method handleUidlRequest(...) in subclasses should call this method.
*
@@ -544,23 +542,23 @@ public abstract class AbstractCommunicationManager implements Serializable {
final PrintWriter outWriter = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(out, "UTF-8")));
- // The rest of the process is synchronized with the application
+ // The rest of the process is synchronized with the session
// in order to guarantee that no parallel variable handling is
// made
- synchronized (application) {
+ synchronized (session) {
- // Finds the window within the application
- if (application.isRunning()) {
+ // Finds the UI within the session
+ if (session.isRunning()) {
// Returns if no window found
if (uI == null) {
// This should not happen, no windows exists but
- // application is still open.
- getLogger().warning("Could not get UI for application");
+ // session is still open.
+ getLogger().warning("Could not get UI for session");
return;
}
} else {
- // application has been closed
- endApplication(request, response, application);
+ // session has been closed
+ endApplication(request, response, session);
return;
}
@@ -568,7 +566,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
uI.setLastUidlRequestTime(System.currentTimeMillis());
// Change all variables based on request parameters
- if (!handleVariables(request, response, callback, application, uI)) {
+ if (!handleVariables(request, response, callback, session, uI)) {
// var inconsistency; the client is probably out-of-sync
SystemMessages ci = response.getVaadinService()
@@ -618,13 +616,13 @@ public abstract class AbstractCommunicationManager implements Serializable {
/**
* Method called after the paint phase while still being synchronized on the
- * application
+ * session
*
* @param uI
*
*/
protected void postPaint(UI uI) {
- // Remove connectors that have been detached from the application during
+ // Remove connectors that have been detached from the session during
// handling of the request
uI.getConnectorTracker().cleanConnectorMap();
@@ -634,7 +632,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
while (iterator.hasNext()) {
String connectorId = iterator.next();
if (uI.getConnectorTracker().getConnector(connectorId) == null) {
- // Owner is no longer attached to the application
+ // Owner is no longer attached to the session
Map<String, StreamVariable> removed = pidToNameToStreamVariable
.get(connectorId);
for (String key : removed.keySet()) {
@@ -676,12 +674,12 @@ public abstract class AbstractCommunicationManager implements Serializable {
}
sb.append("\nComponent hierarchy:\n");
- VaadinSession application2 = component.getUI().getSession();
- sb.append(application2.getClass().getName());
+ VaadinSession session2 = component.getUI().getSession();
+ sb.append(session2.getClass().getName());
sb.append(".");
- sb.append(application2.getClass().getSimpleName());
+ sb.append(session2.getClass().getSimpleName());
sb.append("(");
- sb.append(application2.getClass().getSimpleName());
+ sb.append(session2.getClass().getSimpleName());
sb.append(".java");
sb.append(":1)");
int l = 1;
@@ -724,9 +722,9 @@ public abstract class AbstractCommunicationManager implements Serializable {
final PrintWriter outWriter, UI uI, boolean analyzeLayouts)
throws PaintException, IOException, JSONException {
- // Removes application if it has stopped during variable changes
- if (!application.isRunning()) {
- endApplication(request, response, application);
+ // Removes session if it has stopped during variable changes
+ if (!session.isRunning()) {
+ endApplication(request, response, session);
return;
}
@@ -1312,8 +1310,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
*/
private void writePerformanceData(final PrintWriter outWriter) {
outWriter.write(String.format(", \"timings\":[%d, %d]",
- application.getTotalSessionTime(),
- application.getLastRequestTime()));
+ session.getTotalSessionTime(), session.getLastRequestTime()));
}
private void legacyPaint(PaintTarget paintTarget,
@@ -1533,9 +1530,9 @@ public abstract class AbstractCommunicationManager implements Serializable {
* @return true if successful, false if there was an inconsistency
*/
private boolean handleVariables(WrappedRequest request,
- WrappedResponse response, Callback callback,
- VaadinSession application2, UI uI) throws IOException,
- InvalidUIDLSecurityKeyException, JSONException {
+ WrappedResponse response, Callback callback, VaadinSession session,
+ UI uI) throws IOException, InvalidUIDLSecurityKeyException,
+ JSONException {
boolean success = true;
String changes = getRequestPayload(request);
@@ -1547,7 +1544,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
// Security: double cookie submission pattern unless disabled by
// property
- if (isXSRFEnabled(application2)) {
+ if (isXSRFEnabled(session)) {
if (bursts.length == 1 && "init".equals(bursts[0])) {
// init request; don't handle any variables, key sent in
// response.
@@ -1930,8 +1927,8 @@ public abstract class AbstractCommunicationManager implements Serializable {
* For {@link AbstractField} components,
* {@link AbstractField#handleError(com.vaadin.ui.AbstractComponent.ComponentErrorEvent)}
* is called. In all other cases (or if the field does not handle the
- * error), {@link ErrorListener#terminalError(ErrorEvent)} for the
- * application error handler is called.
+ * error), {@link ErrorListener#terminalError(ErrorEvent)} for the session
+ * error handler is called.
*
* @param session
* @param owner
@@ -1953,7 +1950,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
} catch (Exception handlerException) {
/*
* If there is an error in the component error handler we pass
- * the that error to the application error handler and continue
+ * the that error to the session error handler and continue
* processing the actual error
*/
session.getErrorHandler().terminalError(
@@ -2240,7 +2237,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
public void requireLocale(String value) {
if (locales == null) {
locales = new ArrayList<String>();
- locales.add(application.getLocale().toString());
+ locales.add(session.getLocale().toString());
pendingLocalesIndex = 0;
}
if (!locales.contains(value)) {
@@ -2395,8 +2392,8 @@ public abstract class AbstractCommunicationManager implements Serializable {
* The request handlers are invoked in the revere order in which they were
* added to the session until a response has been produced. This means that
* the most recently added handler is used first and the first request
- * handler that was added to the application is invoked towards the end
- * unless any previous handler has already produced a response.
+ * handler that was added to the session is invoked towards the end unless
+ * any previous handler has already produced a response.
* </p>
*
* @param request
@@ -2418,8 +2415,8 @@ public abstract class AbstractCommunicationManager implements Serializable {
WrappedResponse response) throws IOException {
// Use a copy to avoid ConcurrentModificationException
for (RequestHandler handler : new ArrayList<RequestHandler>(
- application.getRequestHandlers())) {
- if (handler.handleRequest(application, request, response)) {
+ session.getRequestHandlers())) {
+ if (handler.handleRequest(session, request, response)) {
return true;
}
}
@@ -2428,8 +2425,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
}
public void handleBrowserDetailsRequest(WrappedRequest request,
- WrappedResponse response, VaadinSession application)
- throws IOException {
+ WrappedResponse response, VaadinSession session) throws IOException {
assert UI.getCurrent() == null;
@@ -2438,9 +2434,9 @@ public abstract class AbstractCommunicationManager implements Serializable {
response.setContentType("application/json; charset=UTF-8");
- UI uI = application.getUIForRequest(combinedRequest);
+ UI uI = session.getUIForRequest(combinedRequest);
if (uI == null) {
- uI = application.createUI(combinedRequest);
+ uI = session.createUI(combinedRequest);
}
JSONObject params = new JSONObject();
@@ -2606,9 +2602,9 @@ public abstract class AbstractCommunicationManager implements Serializable {
* @throws IOException
* @throws InvalidUIDLSecurityKeyException
*/
- public void handleFileUpload(VaadinSession application,
- WrappedRequest request, WrappedResponse response)
- throws IOException, InvalidUIDLSecurityKeyException {
+ public void handleFileUpload(VaadinSession session, WrappedRequest request,
+ WrappedResponse response) throws IOException,
+ InvalidUIDLSecurityKeyException {
/*
* URI pattern: APP/UPLOAD/[UIID]/[PID]/[NAME]/[SECKEY] See
@@ -2626,7 +2622,7 @@ public abstract class AbstractCommunicationManager implements Serializable {
String uiId = parts[0];
String connectorId = parts[1];
String variableName = parts[2];
- UI uI = application.getUIById(Integer.parseInt(uiId));
+ UI uI = session.getUIById(Integer.parseInt(uiId));
UI.setCurrent(uI);
StreamVariable streamVariable = getStreamVariable(connectorId,
@@ -2660,21 +2656,20 @@ public abstract class AbstractCommunicationManager implements Serializable {
* still alive (the browser window is open, the connection is up) even when
* there are no UIDL requests for a prolonged period of time. UIs that do
* not receive either heartbeat or UIDL requests are eventually removed from
- * the application and garbage collected.
+ * the session and garbage collected.
*
* @param request
* @param response
- * @param application
+ * @param session
* @throws IOException
*/
public void handleHeartbeatRequest(WrappedRequest request,
- WrappedResponse response, VaadinSession application)
- throws IOException {
+ WrappedResponse response, VaadinSession session) throws IOException {
UI ui = null;
try {
int uiId = Integer.parseInt(request
.getParameter(UIConstants.UI_ID_PARAMETER));
- ui = application.getUIById(uiId);
+ ui = session.getUIById(uiId);
} catch (NumberFormatException nfe) {
// null-check below handles this as well
}
diff --git a/server/src/com/vaadin/server/CommunicationManager.java b/server/src/com/vaadin/server/CommunicationManager.java
index 7cdff288d4..836afe6748 100644
--- a/server/src/com/vaadin/server/CommunicationManager.java
+++ b/server/src/com/vaadin/server/CommunicationManager.java
@@ -38,23 +38,12 @@ import com.vaadin.ui.UI;
public class CommunicationManager extends AbstractCommunicationManager {
/**
- * @deprecated use {@link #CommunicationManager(VaadinSession)} instead
- * @param application
- * @param applicationServlet
- */
- @Deprecated
- public CommunicationManager(VaadinSession application,
- VaadinServlet applicationServlet) {
- super(application);
- }
-
- /**
* TODO New constructor - document me!
*
- * @param application
+ * @param session
*/
- public CommunicationManager(VaadinSession application) {
- super(application);
+ public CommunicationManager(VaadinSession session) {
+ super(session);
}
@Override
diff --git a/server/src/com/vaadin/server/PortletCommunicationManager.java b/server/src/com/vaadin/server/PortletCommunicationManager.java
index e8904c71bd..5340d122d9 100644
--- a/server/src/com/vaadin/server/PortletCommunicationManager.java
+++ b/server/src/com/vaadin/server/PortletCommunicationManager.java
@@ -40,8 +40,8 @@ import com.vaadin.ui.UI;
@SuppressWarnings("serial")
public class PortletCommunicationManager extends AbstractCommunicationManager {
- public PortletCommunicationManager(VaadinSession application) {
- super(application);
+ public PortletCommunicationManager(VaadinSession session) {
+ super(session);
}
@Override