List of usage examples for java.io PipedOutputStream PipedOutputStream
public PipedOutputStream()
From source file:org.apache.tez.http.async.netty.AsyncHttpConnection.java
public AsyncHttpConnection(URL url, HttpConnectionParams connParams, String logIdentifier, JobTokenSecretManager jobTokenSecretManager) throws IOException { this.jobTokenSecretMgr = jobTokenSecretManager; this.httpConnParams = connParams; this.url = url; this.stopWatch = new StopWatch(); if (LOG.isDebugEnabled()) { LOG.debug("MapOutput URL :" + url.toString()); }//from www . j a va 2 s . co m initClient(httpConnParams); pos = new PipedOutputStream(); pis = new PipedInputStream(pos, httpConnParams.getBufferSize()); handler = new TezBodyDeferringAsyncHandler(pos, url, UNIT_CONNECT_TIMEOUT); }
From source file:org.jaqpot.core.service.client.jpdi.JPDIClientImpl.java
@Override public Future<Model> train(Dataset dataset, Algorithm algorithm, Map<String, Object> parameters, String predictionFeature, MetaInfo modelMeta, String taskId) { CompletableFuture<Model> futureModel = new CompletableFuture<>(); TrainingRequest trainingRequest = new TrainingRequest(); trainingRequest.setDataset(dataset); trainingRequest.setParameters(parameters); trainingRequest.setPredictionFeature(predictionFeature); // String trainingRequestString = serializer.write(trainingRequest); final HttpPost request = new HttpPost(algorithm.getTrainingService()); PipedOutputStream out = new PipedOutputStream(); PipedInputStream in;/*from w w w.java 2s. c o m*/ try { in = new PipedInputStream(out); } catch (IOException ex) { futureModel.completeExceptionally(ex); return futureModel; } InputStreamEntity entity = new InputStreamEntity(in, ContentType.APPLICATION_JSON); entity.setChunked(true); request.setEntity(entity); request.addHeader("Accept", "application/json"); Future futureResponse = client.execute(request, new FutureCallback<HttpResponse>() { @Override public void completed(final HttpResponse response) { futureMap.remove(taskId); int status = response.getStatusLine().getStatusCode(); try { InputStream responseStream = response.getEntity().getContent(); switch (status) { case 200: case 201: TrainingResponse trainingResponse = serializer.parse(responseStream, TrainingResponse.class); Model model = new Model(); model.setId(randomStringGenerator.nextString(20)); model.setActualModel(trainingResponse.getRawModel()); model.setPmmlModel(trainingResponse.getPmmlModel()); model.setAdditionalInfo(trainingResponse.getAdditionalInfo()); model.setAlgorithm(algorithm); model.setParameters(parameters); model.setDatasetUri(dataset != null ? dataset.getDatasetURI() : null); //Check if independedFeatures of model exist in dataset List<String> filteredIndependedFeatures = new ArrayList<String>(); if (dataset != null && dataset.getFeatures() != null && trainingResponse.getIndependentFeatures() != null) for (String feature : trainingResponse.getIndependentFeatures()) { for (FeatureInfo featureInfo : dataset.getFeatures()) { if (feature.equals(featureInfo.getURI())) filteredIndependedFeatures.add(feature); } } model.setIndependentFeatures(filteredIndependedFeatures); model.setDependentFeatures(Arrays.asList(predictionFeature)); model.setMeta(modelMeta); List<String> predictedFeatures = new ArrayList<>(); for (String featureTitle : trainingResponse.getPredictedFeatures()) { Feature predictionFeatureResource = featureHandler.findByTitleAndSource(featureTitle, "algorithm/" + algorithm.getId()); if (predictionFeatureResource == null) { // Create the prediction features (POST /feature) String predFeatID = randomStringGenerator.nextString(12); predictionFeatureResource = new Feature(); predictionFeatureResource.setId(predFeatID); predictionFeatureResource.setPredictorFor(predictionFeature); predictionFeatureResource.setMeta(MetaInfoBuilder.builder() .addSources( /*messageBody.get("base_uri") + */"algorithm/" + algorithm.getId()) .addComments("Feature created to hold predictions by algorithm with ID " + algorithm.getId()) .addTitles(featureTitle).addSeeAlso(predictionFeature) .addCreators(algorithm.getMeta().getCreators()).build()); /* Create feature */ featureHandler.create(predictionFeatureResource); } predictedFeatures.add(baseURI + "feature/" + predictionFeatureResource.getId()); } model.setPredictedFeatures(predictedFeatures); futureModel.complete(model); break; case 400: String message = new BufferedReader(new InputStreamReader(responseStream)).lines() .collect(Collectors.joining("\n")); futureModel.completeExceptionally(new BadRequestException(message)); break; case 500: message = new BufferedReader(new InputStreamReader(responseStream)).lines() .collect(Collectors.joining("\n")); futureModel.completeExceptionally(new InternalServerErrorException(message)); break; default: message = new BufferedReader(new InputStreamReader(responseStream)).lines() .collect(Collectors.joining("\n")); futureModel.completeExceptionally(new InternalServerErrorException(message)); } } catch (IOException | UnsupportedOperationException ex) { futureModel.completeExceptionally(ex); } } @Override public void failed(final Exception ex) { futureMap.remove(taskId); futureModel.completeExceptionally(ex); } @Override public void cancelled() { futureMap.remove(taskId); futureModel.cancel(true); } }); serializer.write(trainingRequest, out); try { out.close(); } catch (IOException ex) { futureModel.completeExceptionally(ex); } futureMap.put(taskId, futureResponse); return futureModel; }
From source file:com.blacklocus.jres.http.HttpMethods.java
static HttpEntity createEntity(final Object payload) throws IOException { final HttpEntity entity; if (payload instanceof InputStream) { if (LOG.isDebugEnabled()) { String stream = IOUtils.toString((InputStream) payload); LOG.debug(stream);// w w w . j a v a 2 s . c o m entity = new StringEntity(stream, ContentType.APPLICATION_JSON); } else { entity = new InputStreamEntity((InputStream) payload, ContentType.APPLICATION_JSON); } } else if (payload instanceof String) { LOG.debug((String) payload); entity = new StringEntity((String) payload, ContentType.APPLICATION_JSON); } else { // anything else will be serialized with Jackson if (LOG.isDebugEnabled()) { String json = ObjectMappers.toJson(payload); LOG.debug(json); entity = new StringEntity(json, ContentType.APPLICATION_JSON); } else { final PipedOutputStream pipedOutputStream = new PipedOutputStream(); final PipedInputStream pipedInputStream = new PipedInputStream(pipedOutputStream); PIPER.submit(new ExceptingRunnable() { @Override protected void go() throws Exception { try { ObjectMappers.NORMAL.writeValue(pipedOutputStream, payload); pipedOutputStream.flush(); } finally { IOUtils.closeQuietly(pipedOutputStream); } } }); entity = new InputStreamEntity(pipedInputStream, ContentType.APPLICATION_JSON); } } return entity; }
From source file:org.apache.zeppelin.spark.SparkRInterpreter.java
@Override public void open() { // create R script createRScript();/* ww w . ja v a 2 s .c o m*/ int backendTimeout = Integer.parseInt(System.getenv().getOrDefault("SPARKR_BACKEND_TIMEOUT", "120")); // Launch a SparkR backend server for the R process to connect to; this will let it see our // Java system properties etc. ZeppelinRBackend sparkRBackend = new ZeppelinRBackend(); Semaphore initialized = new Semaphore(0); Thread sparkRBackendThread = new Thread("SparkR backend") { @Override public void run() { sparkRBackendPort = sparkRBackend.init(); initialized.release(); sparkRBackend.run(); } }; sparkRBackendThread.start(); // Wait for RBackend initialization to finish try { if (initialized.tryAcquire(backendTimeout, TimeUnit.SECONDS)) { // Launch R CommandLine cmd = CommandLine.parse(getProperty("zeppelin.sparkr.r")); cmd.addArgument(scriptPath, false); cmd.addArgument("--no-save", false); // cmd.addArgument(getJavaSparkContext().version(), false); executor = new DefaultExecutor(); outputStream = new ByteArrayOutputStream(); PipedOutputStream ps = new PipedOutputStream(); in = null; try { in = new PipedInputStream(ps); } catch (IOException e1) { throw new InterpreterException(e1); } ins = new BufferedWriter(new OutputStreamWriter(ps)); input = new ByteArrayOutputStream(); PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream, outputStream, in); executor.setStreamHandler(streamHandler); executor.setWatchdog(new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT)); Map env = EnvironmentUtils.getProcEnvironment(); String sparkRInterpreterObjId = sparkRBackend.put(this); String uberdataContextObjId = sparkRBackend.put(getUberdataContext()); env.put("R_PROFILE_USER", scriptPath); env.put("SPARK_HOME", getSparkHome()); env.put("EXISTING_SPARKR_BACKEND_PORT", String.valueOf(sparkRBackendPort)); env.put("SPARKR_INTERPRETER_ID", sparkRInterpreterObjId); env.put("UBERDATA_CONTEXT_ID", uberdataContextObjId); logger.info("executing {} {}", env, cmd.toString()); executor.execute(cmd, env, this); logger.info("executed"); rScriptRunning = true; } else { System.err.println("SparkR backend did not initialize in " + backendTimeout + " seconds"); System.exit(-1); } } catch (InterruptedException e) { new InterpreterException((e)); } catch (IOException e) { new InterpreterException((e)); } }
From source file:net.pms.io.WindowsNamedPipe.java
public WindowsNamedPipe(String basename, boolean forceReconnect, boolean in, OutputParams params) { this.path = "\\\\.\\pipe\\" + basename; this.in = in; this.forceReconnect = forceReconnect; LOGGER.debug("Creating pipe " + this.path); try {//from ww w . j av a 2 s .com if (Platform.isWindows()) { handle1 = Kernel32.INSTANCE.CreateNamedPipeA(this.path, 3, 0, 255, BUFSIZE, BUFSIZE, 0, null); if (forceReconnect) { handle2 = Kernel32.INSTANCE.CreateNamedPipeA(this.path, 3, 0, 255, BUFSIZE, BUFSIZE, 0, null); } if (params != null) { directBuffer = new BufferedOutputFileImpl(params); } else { writable = new PipedOutputStream(); readable = new PipedInputStream((PipedOutputStream) writable, BUFSIZE); } start(); if (forceReconnect) { forced = new Thread(new Runnable() { @Override public void run() { b2 = Kernel32.INSTANCE.ConnectNamedPipe(handle2, null); } }, "Forced Reconnector"); forced.start(); } } } catch (Exception e1) { LOGGER.warn("Error creating Windows named pipe: {}", e1.getMessage()); LOGGER.trace("", e1); } }
From source file:edu.umn.msi.tropix.common.io.impl.AsyncStreamCopierImplTest.java
@Test(groups = "unit", timeOut = 1000, invocationCount = 10) public void close() throws IOException, InterruptedException { final AsyncStreamCopierImpl copier = new AsyncStreamCopierImpl(); final Reference<Thread> threadReference = new Reference<Thread>(); final Reference<Throwable> throwableReference = new Reference<Throwable>(); copier.setExecutor(new Executor() { public void execute(final Runnable runnable) { final Thread thread = new Thread(runnable); threadReference.set(thread); thread.start();//w w w .java 2 s . c o m thread.setUncaughtExceptionHandler(new UncaughtExceptionHandler() { public void uncaughtException(final Thread arg0, final Throwable throwable) { throwableReference.set(throwable); } }); } }); final PipedOutputStream pipedOutputStream = new PipedOutputStream(); final PipedInputStream pipedInputStream = new PipedInputStream(pipedOutputStream); final ByteArrayOutputStream copiedStream = new ByteArrayOutputStream(); copier.copy(pipedInputStream, copiedStream, true); Thread.sleep(3); assert new String(copiedStream.toByteArray()).equals(""); pipedOutputStream.write("Hello ".getBytes()); pipedOutputStream.flush(); while (!new String(copiedStream.toByteArray()).equals("Hello ")) { Thread.sleep(1); } pipedOutputStream.write("World!".getBytes()); pipedOutputStream.flush(); while (!new String(copiedStream.toByteArray()).equals("Hello World!")) { Thread.sleep(1); } assert threadReference.get().isAlive(); pipedOutputStream.close(); while (threadReference.get().isAlive()) { Thread.sleep(1); } assert throwableReference.get() == null; }
From source file:org.jumpmind.symmetric.transport.internal.InternalTransportManager.java
public IOutgoingWithResponseTransport getPushTransport(final Node targetNode, final Node sourceNode, String securityToken, String channelId, String registrationUrl) throws IOException { final PipedOutputStream pushOs = new PipedOutputStream(); final PipedInputStream pushIs = new PipedInputStream(pushOs); final PipedOutputStream respOs = new PipedOutputStream(); final PipedInputStream respIs = new PipedInputStream(respOs); runAtClient(targetNode.getSyncUrl(), pushIs, respOs, new IClientRunnable() { public void run(ISymmetricEngine engine, InputStream is, OutputStream os) throws Exception { // This should be basically what the push servlet does ... engine.getDataLoaderService().loadDataFromPush(sourceNode, pushIs, respOs); }//from www . j a va2 s . c o m }); return new InternalOutgoingWithResponseTransport(pushOs, respIs); }
From source file:com.github.chenxiaolong.dualbootpatcher.switcher.MbtoolTaskOutputFragment.java
@Override public void onStart() { super.onStart(); // Create terminal mSession = new TermSession(); // We don't care about any input because this is kind of a "dumb" terminal output, not // a proper interactive one mSession.setTermOut(new NullOutputStream()); mOS = new PipedOutputStream(); try {/*from w ww. ja v a 2 s. co m*/ mSession.setTermIn(new PipedInputStream(mOS)); } catch (IOException e) { throw new IllegalStateException("Failed to set terminal input stream to pipe", e); } mEmulatorView.attachSession(mSession); // Start and bind to the service Intent intent = new Intent(getActivity(), SwitcherService.class); getActivity().bindService(intent, this, Context.BIND_AUTO_CREATE); getActivity().startService(intent); }
From source file:org.apache.zeppelin.spark.PySparkInterpreter.java
private void createGatewayServerAndStartScript() { // create python script createPythonScript();/*from ww w . j a v a 2s . co m*/ port = findRandomOpenPortOnAllLocalInterfaces(); gatewayServer = new GatewayServer(this, port); gatewayServer.start(); // Run python shell CommandLine cmd = CommandLine.parse(getProperty("zeppelin.pyspark.python")); cmd.addArgument(scriptPath, false); cmd.addArgument(Integer.toString(port), false); cmd.addArgument(Integer.toString(getSparkInterpreter().getSparkVersion().toNumber()), false); executor = new DefaultExecutor(); outputStream = new ByteArrayOutputStream(); PipedOutputStream ps = new PipedOutputStream(); in = null; try { in = new PipedInputStream(ps); } catch (IOException e1) { throw new InterpreterException(e1); } ins = new BufferedWriter(new OutputStreamWriter(ps)); input = new ByteArrayOutputStream(); PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream, outputStream, in); executor.setStreamHandler(streamHandler); executor.setWatchdog(new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT)); try { Map env = EnvironmentUtils.getProcEnvironment(); executor.execute(cmd, env, this); pythonscriptRunning = true; } catch (IOException e) { throw new InterpreterException(e); } try { input.write("import sys, getopt\n".getBytes()); ins.flush(); } catch (IOException e) { throw new InterpreterException(e); } }
From source file:com.izforge.izpack.util.LogUtils.java
public static void loadConfiguration(final Properties configuration) throws IOException { if (OVERRIDE) { LogManager manager = LogManager.getLogManager(); // Merge global logging properties InputStream baseResourceStream = null; try {/* ww w . jav a 2s .com*/ baseResourceStream = LogUtils.class.getResourceAsStream(LOGGING_BASE_CONFIGURATION); final Properties baseProps = new Properties(); baseProps.load(baseResourceStream); mergeLoggingConfiguration(configuration, baseProps); } finally { IOUtils.closeQuietly(baseResourceStream); } boolean mkdirs = false; String pattern = null; if (configuration.getProperty("handlers") != null && configuration.getProperty("handlers").contains(FILEHANDLER_CLASSNAME) && manager.getProperty("handlers").contains(FILEHANDLER_CLASSNAME)) { // IzPack maintains just one log file, don't override the existing handler type of it. // Special use case: Command line argument -logfile "wins" over the <log-file> tag. // Assumption at the moment for optimization: Just FileHandler is used for configurations from install.xml. return; } for (String key : configuration.stringPropertyNames()) { if (key.equals(FILEHANDLER_CLASSNAME + ".pattern")) { // Workaround for not normalized file paths, for example ${INSTALL_PATH}/../install_log/name.log // to get them working before creating ${INSTALL_PATH} in the // com.izforge.izpack.installer.unpacker.UnpackerBase.preUnpack phase // otherwise the FileHandler will fail when opening files already in constructor and not recover from that. pattern = FilenameUtils.normalize(configuration.getProperty(key)); configuration.setProperty(key, pattern); } else if (key.equals(FILEHANDLER_CLASSNAME + ".mkdirs")) { // This key goes beyond the capabilities of java.util.logging.FileHandler mkdirs = Boolean.parseBoolean(configuration.getProperty(key)); configuration.remove(key); } } if (mkdirs && pattern != null) { FileUtils.forceMkdirParent(new File(pattern)); } // Merge user settings compiled in final Properties userProps = new Properties(); InputStream userPropsStream = LogUtils.class .getResourceAsStream(ResourceManager.getInstallLoggingConfigurationResourceName()); try { if (userPropsStream != null) { userProps.load(userPropsStream); for (String userPropName : userProps.stringPropertyNames()) { if (userPropName.endsWith(".level") && !userPropName.startsWith(FILEHANDLER_CLASSNAME)) { String level = userProps.getProperty(userPropName); if (level != null) { configuration.setProperty(userPropName, level); } } } } } finally { IOUtils.closeQuietly(userPropsStream); } InputStream defaultResourceStream = null; try { defaultResourceStream = LogUtils.class.getResourceAsStream(LOGGING_CONFIGURATION); final Properties defaultProps = new Properties(); defaultProps.load(defaultResourceStream); mergeLoggingConfiguration(configuration, defaultProps); } finally { IOUtils.closeQuietly(defaultResourceStream); } if (Debug.isDEBUG()) { configuration.setProperty(FILEHANDLER_CLASSNAME + ".level", Level.FINE.toString()); configuration.setProperty(ConsoleHandler.class.getName() + ".level", Level.FINE.toString()); } // Set general log level which acts as filter in front of all handlers String fileLevelName = configuration.getProperty(FILEHANDLER_CLASSNAME + ".level", Level.ALL.toString()); Level fileLevel = Level.ALL; if (fileLevelName != null) { fileLevel = Level.parse(fileLevelName); } String consoleLevelName = configuration.getProperty(CONSOLEHANDLER_CLASSNAME + ".level", Level.INFO.toString()); Level consoleLevel = Level.INFO; if (consoleLevelName != null) { consoleLevel = Level.parse(consoleLevelName); } configuration.setProperty(".level", (fileLevel.intValue() < consoleLevel.intValue()) ? fileLevelName : consoleLevelName); final PipedOutputStream out = new PipedOutputStream(); final PipedInputStream in = new PipedInputStream(out); try { new Thread(new Runnable() { public void run() { try { configuration.store(out, null); } catch (IOException e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(out); } } }).start(); manager.readConfiguration(in); } finally { IOUtils.closeQuietly(in); } } }