session.unlock();
@Override public boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException { if (!canHandleRequest(request)) { return false; } session.lock(); try { return synchronizedHandleRequest(session, request, response); } finally { session.unlock(); } }
@Override public boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException { // Use a copy to avoid ConcurrentModificationException session.lock(); List<RequestHandler> requestHandlers; try { requestHandlers = new ArrayList<>(session.getRequestHandlers()); } finally { session.unlock(); } for (RequestHandler handler : requestHandlers) { if (handler.handleRequest(session, request, response)) { return true; } } // If not handled return false; } }
@Override public boolean handleConnectorRequest(VaadinRequest request, VaadinResponse response, String path) throws IOException { Matcher matcher = Pattern.compile("(\\d+)(/.*)?").matcher(path); if (!matcher.matches()) { return super.handleConnectorRequest(request, response, path); } DownloadStream stream; VaadinSession session = getSession(); session.lock(); try { List<URLReference> sources = getState().sources; int sourceIndex = Integer.parseInt(matcher.group(1)); if (sourceIndex < 0 || sourceIndex >= sources.size()) { getLogger().log(Level.WARNING, "Requested source index {0} is out of bounds", sourceIndex); return false; } URLReference reference = sources.get(sourceIndex); ConnectorResource resource = (ConnectorResource) ResourceReference .getResource(reference); stream = resource.getStream(); } finally { session.unlock(); } stream.writeResponse(request, response); return true; }
@Override public boolean handleConnectorRequest(VaadinRequest request, VaadinResponse response, String path) throws IOException { DownloadStream stream = null; String[] parts = path.split("/", 2); String key = parts[0]; VaadinSession session = getSession(); session.lock(); try { ConnectorResource resource = (ConnectorResource) getResource(key); if (resource == null) { return false; } stream = resource.getStream(); } finally { session.unlock(); } stream.writeResponse(request, response); return true; }
runnable.run(); } finally { unlock(); if (old != null) { CurrentInstance.restoreInstances(old);
.get(fileName); } finally { session.unlock();
session.unlock(); if (oldInstances != null) { CurrentInstance.restoreInstances(oldInstances);
/** * Called after the framework has handled a request and the response has * been written. * * @param request * The request object * @param response * The response object * @param session * The session which was used during the request or null if the * request did not use a session */ public void requestEnd(VaadinRequest request, VaadinResponse response, VaadinSession session) { if (session != null) { assert VaadinSession.getCurrent() == session; session.lock(); try { cleanupSession(session); final long duration = (System.nanoTime() - (Long) request .getAttribute(REQUEST_START_TIME_ATTRIBUTE)) / 1000000; session.setLastRequestDuration(duration); } finally { session.unlock(); } } CurrentInstance.clearAll(); }
session.unlock();
listenProgress = streamVariable.listenProgress(); } finally { session.unlock(); streamVariable.onProgress(progressEvent); } finally { session.unlock(); streamVariable.streamingFinished(event); } finally { session.unlock(); streamVariable.streamingFailed(event); } finally { session.unlock(); session.unlock();
runnable.run(); } finally { session.unlock(); if (old != null) { CurrentInstance.restoreInstances(old);
} finally { try { session.unlock(); } catch (Exception e) { getLogger().log(Level.WARNING, "Error while unlocking session",
session.unlock();
vaadinSession.unlock();
} finally { try { session.unlock(); } catch (Exception e) { getLogger().log(Level.WARNING,
private InputStream createInputStream(VaadinSession session) { session.lock(); try { return factory.createInputStream(); } finally { session.unlock(); } }
@Override public void run() { try { getUI().getSession().lock(); advanceTimer(); } finally { getUI().getSession().unlock(); } } }, 250, 250);