/** Closes the write half of the stream. */ @Override public void closeWrite() throws IOException { if (_isCloseWrite) { return; } _isCloseWrite = true; // OutputStream os = _os; // _os = null; boolean isShutdownOutput = false; // since the output stream is opened lazily, we might // need to open it if (_s != null) { try { _s.shutdownOutput(); isShutdownOutput = true; } catch (UnsupportedOperationException e) { log.log(Level.FINEST, e.toString(), e); } catch (Exception e) { log.finer(e.toString()); log.log(Level.FINEST, e.toString(), e); } } /* // SSLSocket doesn't support shutdownOutput() if (! isShutdownOutput && os != null) { os.close(); } */ }
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { CharSequence pathInfo = request.getPathInfo(); if (pathInfo == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "No path"); return; } Iterator<String> pathComponents = SLASH.split(pathInfo).iterator(); String userID; String itemID; try { userID = pathComponents.next(); itemID = pathComponents.next(); } catch (NoSuchElementException nsee) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, nsee.toString()); return; } if (pathComponents.hasNext()) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Path too long"); return; } userID = unescapeSlashHack(userID); itemID = unescapeSlashHack(itemID); OryxRecommender recommender = getRecommender(); try { output( request, response, recommender.recommendedBecause(userID, itemID, getNumResultsToFetch(request))); } catch (NoSuchUserException nsue) { response.sendError(HttpServletResponse.SC_NOT_FOUND, nsue.toString()); } catch (NoSuchItemException nsie) { response.sendError(HttpServletResponse.SC_NOT_FOUND, nsie.toString()); } catch (NotReadyException nre) { response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, nre.toString()); } catch (IllegalArgumentException iae) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, iae.toString()); } catch (UnsupportedOperationException uoe) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, uoe.toString()); } }
@Test public void shouldUseSpecifiedJavacJar() throws Exception { BuildRuleResolver resolver = new BuildRuleResolver(); SourcePathResolver pathResolver = new SourcePathResolver(resolver); BuildRule rule = new FakeBuildRule("//:fake", pathResolver); resolver.addToIndex(rule); Path fakeJavacJar = Paths.get("ae036e57-77a7-4356-a79c-0f85b1a3290d", "fakeJavac.jar"); ExecutionContext executionContext = TestExecutionContext.newInstance(); MockClassLoader mockClassLoader = new MockClassLoader( ClassLoader.getSystemClassLoader(), ImmutableMap.<String, Class<?>>of( "com.sun.tools.javac.api.JavacTool", MockJavac.class)); executionContext .getClassLoaderCache() .injectClassLoader( ClassLoader.getSystemClassLoader(), ImmutableList.of(fakeJavacJar.toUri().toURL()), mockClassLoader); Jsr199Javac javac = createJavac(/* withSyntaxError */ false, Optional.of(fakeJavacJar)); boolean caught = false; try { javac.buildWithClasspath( executionContext, createProjectFilesystem(), PATH_RESOLVER, BuildTargetFactory.newInstance("//some:example"), ImmutableList.<String>of(), SOURCE_PATHS, Optional.of(pathToSrcsList), Optional.<Path>absent()); fail("Did not expect compilation to succeed"); } catch (UnsupportedOperationException ex) { if (ex.toString().contains("abcdef")) { caught = true; } } assertTrue("mock Java compiler should throw", caught); }
public void addMessToVectorInSortedOrder(Vector v, MhrEvent ev) { ListIterator iter = v.listIterator(); MhrEvent vEv; while (iter.hasNext()) { vEv = (MhrEvent) iter.next(); if (ev.eventTime.compareTo(vEv.eventTime) >= 0) { iter.previous(); iter.add(ev); return; } } try { iter.add(ev); } catch (UnsupportedOperationException e) { System.out.println(e.toString()); } catch (Exception e) { System.out.println(e.toString()); } }