List of usage examples for javax.activation DataHandler writeTo
public void writeTo(OutputStream os) throws IOException
OutputStream
.If the DataHandler was created with a DataSource, writeTo retrieves the InputStream and copies the bytes from the InputStream to the OutputStream passed in.
From source file:org.wso2.carbon.application.upload.CarbonAppUploader.java
private void writeResource(DataHandler dataHandler, String tempDestPath, String destPath, String fileName) throws IOException { File tempDestFile = new File(tempDestPath, fileName); File destFile = new File(destPath, fileName); FileOutputStream fos = null;//from w w w . j a v a2s. co m try { fos = new FileOutputStream(tempDestFile); dataHandler.writeTo(fos); fos.flush(); /* File stream is copied to a temp directory in order handle hot deployment issue occurred in windows */ FileUtils.copyFile(tempDestFile, destFile); } finally { try { if (fos != null) { fos.close(); } } catch (IOException e) { log.warn("Can't close file streams.", e); } } if (!tempDestFile.delete()) { log.warn("temp file: " + tempDestFile.getAbsolutePath() + " deletion failed, scheduled deletion on server exit."); tempDestFile.deleteOnExit(); } }
From source file:org.webcurator.core.reader.LogReaderSOAPClient.java
public File retrieveLogfile(String aJob, String aFilename) { try {//from w w w .j a va 2 s . c o m WCTSoapCall call = new WCTSoapCall(host, port, service, "retrieveLogfile"); call.regTypes(DataHandler.class); DataHandler dh = (DataHandler) call.invoke(aJob, aFilename); File f = File.createTempFile("wct", "tmp"); dh.writeTo(new FileOutputStream(f)); return f; } catch (Exception ex) { throw new WCTRuntimeException( "Failed to retrieve logfile " + aFilename + " for " + aJob + ": " + ex.getMessage(), ex); } }
From source file:org.webcurator.core.reader.LogReaderSOAPClient.java
public File retrieveAQAFile(String aJob, String aFilename) { try {//from w ww. j av a 2s . c om WCTSoapCall call = new WCTSoapCall(host, port, service, "retrieveAQAFile"); call.regTypes(DataHandler.class); DataHandler dh = (DataHandler) call.invoke(aJob, aFilename); File f = File.createTempFile("wct", "tmp"); dh.writeTo(new FileOutputStream(f)); return f; } catch (Exception ex) { throw new WCTRuntimeException( "Failed to retrieve aqa file " + aFilename + " for " + aJob + ": " + ex.getMessage(), ex); } }
From source file:org.wso2.carbon.mediation.library.service.upload.LibraryUploader.java
private void writeResource(DataHandler dataHandler, String tempDestPath, String destPath, String fileName) throws IOException { File tempDestFile = new File(tempDestPath, fileName); FileChannel out = null;/*from w ww.j a v a2 s .c o m*/ FileChannel in = null; FileOutputStream fos = null; try { fos = new FileOutputStream(tempDestFile); dataHandler.writeTo(fos); fos.flush(); /* File stream is copied to a temp directory in order handle hot deployment issue occurred in windows */ dataHandler.writeTo(fos); out = new FileOutputStream(destPath + File.separator + fileName).getChannel(); in = new FileInputStream(tempDestFile).getChannel(); out.write(in.map(FileChannel.MapMode.READ_ONLY, 0, in.size())); } finally { try { if (out != null) { out.close(); } } catch (IOException e) { log.warn("Can't close file streams.", e); } try { if (in != null) { in.close(); } } catch (IOException e) { log.warn("Can't close file streams.", e); } try { if (fos != null) { fos.close(); } } catch (IOException e) { log.warn("Can't close file streams.", e); } } if (!tempDestFile.delete()) { if (log.isDebugEnabled()) { log.debug("temp file: " + tempDestFile.getAbsolutePath() + " deletion failed, scheduled deletion on server exit."); } tempDestFile.deleteOnExit(); } }
From source file:org.wso2.carbon.repomanager.axis2.Axis2RepoManager.java
private void writeToFileSystem(String path, String fileName, DataHandler dataHandler) throws IOException { File destFile = new File(path, fileName); FileOutputStream fos = null;/*from w ww .ja v a 2s . c om*/ try { fos = new FileOutputStream(destFile); dataHandler.writeTo(fos); fos.flush(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { log.error("Failed to close FileOutputStream for file " + fileName, e); } } } }
From source file:it.greenvulcano.gvesb.virtual.http.HTTPCallOperation.java
private void dumpPart(Part p, Element msg, Document doc) throws Exception { Element content = null;// ww w .j a v a 2 s .co m if (p.isMimeType("text/plain")) { content = doc.createElement("PlainMessage"); Text body = doc.createTextNode((String) p.getContent()); content.appendChild(body); } else if (p.isMimeType("text/html")) { content = doc.createElement("HTMLMessage"); CDATASection body = doc.createCDATASection((String) p.getContent()); content.appendChild(body); } else if (p.isMimeType("multipart/*")) { Multipart mp = (Multipart) p.getContent(); int count = mp.getCount(); content = doc.createElement("Multipart"); for (int i = 0; i < count; i++) { dumpPart(mp.getBodyPart(i), content, doc); } } else if (p.isMimeType("message/rfc822")) { content = doc.createElement("NestedMessage"); dumpPart((Part) p.getContent(), content, doc); } else { content = doc.createElement("EncodedContent"); DataHandler dh = p.getDataHandler(); OutputStream os = new ByteArrayOutputStream(); Base64EncodingOutputStream b64os = new Base64EncodingOutputStream(os); dh.writeTo(b64os); b64os.flush(); b64os.close(); content.appendChild(doc.createTextNode(os.toString())); } msg.appendChild(content); String filename = p.getFileName(); if (filename != null) { content.setAttribute("file-name", filename); } String ct = p.getContentType(); if (ct != null) { content.setAttribute("content-type", ct); } String desc = p.getDescription(); if (desc != null) { content.setAttribute("description", desc); } }
From source file:org.wso2.carbon.bpmn.core.mgt.services.BPMNUploader.java
private void writeResource(DataHandler dataHandler, String destPath, String fileName, File bpmnDest) throws IOException { File tempDestFile = new File(destPath, fileName); FileOutputStream fos = null;//from w ww .j av a2s . co m File destFile = new File(bpmnDest, fileName); try { fos = new FileOutputStream(tempDestFile); /* File stream is copied to a temp directory in order handle hot deployment issue occurred in windows */ dataHandler.writeTo(fos); FileUtils.copyFile(tempDestFile, destFile); } catch (FileNotFoundException e) { log.error("Cannot find the file", e); throw e; } catch (IOException e) { log.error("IO error."); throw e; } finally { close(fos); } boolean isDeleted = tempDestFile.delete(); if (!isDeleted) { log.warn("temp file: " + tempDestFile.getAbsolutePath() + " deletion failed, scheduled deletion on server exit."); tempDestFile.deleteOnExit(); } }
From source file:org.wso2.carbon.bpel.deployer.services.BPELUploader.java
private void writeResource(DataHandler dataHandler, String destPath, String fileName, File bpelDest) throws IOException { File tempDestFile = new File(destPath, fileName); FileOutputStream fos = null;/*w w w .ja v a2 s . c o m*/ File destFile = new File(bpelDest, fileName); try { fos = new FileOutputStream(tempDestFile); /* File stream is copied to a temp directory in order handle hot deployment issue occurred in windows */ dataHandler.writeTo(fos); FileUtils.copyFile(tempDestFile, destFile); } catch (FileNotFoundException e) { log.error("Cannot find the file", e); throw e; } catch (IOException e) { log.error("IO error."); throw e; } finally { close(fos); } boolean isDeleted = tempDestFile.delete(); if (!isDeleted) { log.warn("temp file: " + tempDestFile.getAbsolutePath() + " deletion failed, scheduled deletion on server exit."); tempDestFile.deleteOnExit(); } }
From source file:org.wso2.carbon.jarservices.JarServiceCreatorAdmin.java
private void writeToFileSystem(String path, String fileName, DataHandler dataHandler) throws IOException { File destFile = new File(path, fileName); FileOutputStream fos = new FileOutputStream(destFile); dataHandler.writeTo(fos); fos.flush();/* w ww . j a v a2s . com*/ fos.close(); }
From source file:it.govpay.core.business.Psp.java
public String aggiornaRegistro() throws GovPayException { List<String> response = new ArrayList<String>(); GpContext ctx = GpThreadLocal.get(); log.info("Aggiornamento del Registro PSP"); ctx.log("psp.aggiornamentoPsp"); boolean acquisizioneOk = false; Throwable lastError = null;/*from w w w . j a va 2 s .c o m*/ String transactionId = null; try { JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class); StazioniBD stazioniBD = new StazioniBD(this); List<Stazione> lstStazioni = stazioniBD.getStazioni(); if (lstStazioni.size() == 0) { log.warn("Nessuna stazione registrata. Impossibile richiedere il catalogo dei Psp."); ctx.log("psp.aggiornamentoPspNoDomini"); throw new GovPayException(EsitoOperazione.INTERNAL, "Nessuna stazione registrata. Impossibile richiedere il catalogo dei Psp."); } // Finche' non ricevo un catalogo di informativa, provo per tutte le stazioni. ListaInformativePSP informativePsp = null; for (Stazione stazione : lstStazioni) { log.info("Richiedo catalogo per la stazione " + stazione.getCodStazione()); Intermediario intermediario = stazione.getIntermediario(this); transactionId = ctx.openTransaction(); ctx.getContext().getRequest() .addGenericProperty(new Property("codStazione", stazione.getCodStazione())); ctx.setupNodoClient(stazione.getCodStazione(), null, Azione.nodoChiediInformativaPSP); ctx.log("psp.aggiornamentoPspRichiesta"); closeConnection(); NodoChiediInformativaPSP richiesta = new NodoChiediInformativaPSP(); richiesta.setIdentificativoIntermediarioPA(intermediario.getCodIntermediario()); richiesta.setIdentificativoStazioneIntermediarioPA(stazione.getCodStazione()); richiesta.setPassword(stazione.getPassword()); try { NodoClient client = null; try { client = new NodoClient(intermediario, this); NodoChiediInformativaPSPRisposta risposta = client.nodoChiediInformativaPSP(richiesta, intermediario.getDenominazione()); if (risposta.getFault() != null) { throw new GovPayException(risposta.getFault()); } DataHandler dh = risposta.getXmlInformativa(); ByteArrayOutputStream output = new ByteArrayOutputStream(); dh.writeTo(output); Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); informativePsp = (ListaInformativePSP) jaxbUnmarshaller .unmarshal(risposta.getXmlInformativa().getDataSource().getInputStream()); } finally { setupConnection(ctx.getTransactionId()); } if (informativePsp == null) { log.warn("Catalogo dei psp non acquisito. Impossibile aggiornare il registro."); ctx.log("psp.aggiornamentoPspRichiestaKo", "Ricevuta Informativa PSP vuota."); throw new GovPayException("Ricevuta Informativa PSP vuota.", EsitoOperazione.INTERNAL, "Impossibile aggiornare la lista dei Psp."); } log.info("Ricevuto catalogo dei dati Informativi con " + informativePsp.getInformativaPSPs().size() + " informative."); List<it.govpay.bd.model.Psp> catalogoPsp = new ArrayList<it.govpay.bd.model.Psp>(); // Converto ogni informativa un PSP for (InformativaPSP informativaPsp : informativePsp.getInformativaPSPs()) { it.govpay.bd.model.Psp psp = new it.govpay.bd.model.Psp(); CtInformativaMaster informativaMaster = informativaPsp.getInformativaMaster(); boolean isAttivo = informativaMaster.getDataInizioValidita().before(new Date()); psp.setAbilitato(isAttivo); psp.setCodFlusso(informativaPsp.getIdentificativoFlusso()); psp.setCodPsp(informativaPsp.getIdentificativoPSP()); psp.setRagioneSociale(informativaPsp.getRagioneSociale()); psp.setStornoGestito(informativaMaster.getStornoPagamento() == 1); psp.setBolloGestito(informativaMaster.getMarcaBolloDigitale() == 1); psp.setUrlInfo(informativaMaster.getUrlInformazioniPSP()); for (CtInformativaDetail informativaPspDetail : informativaPsp.getListaInformativaDetail() .getInformativaDetails()) { Canale canale = new Canale(); //canale.setCondizioni(informativaPspDetail.getCondizioniEconomicheMassime()); canale.setCodCanale(informativaPspDetail.getIdentificativoCanale()); //canale.setDescrizione(informativaPspDetail.getDescrizioneServizio()); //canale.setDisponibilita(informativaPspDetail.getDisponibilitaServizio()); canale.setModelloPagamento( Canale.ModelloPagamento.toEnum(informativaPspDetail.getModelloPagamento())); canale.setPsp(psp); canale.setTipoVersamento( Canale.TipoVersamento.toEnum(informativaPspDetail.getTipoVersamento().name())); //canale.setUrlInfo(informativaPspDetail.getUrlInformazioniCanale()); canale.setCodIntermediario(informativaPspDetail.getIdentificativoIntermediario()); psp.getCanalis().add(canale); } catalogoPsp.add(psp); log.debug("Acquisita informativa [codPsp: " + psp.getCodPsp() + "]"); } // Completata acquisizione del Catalogo dal Nodo dei Pagamenti. // Disabilito tutti i PSP e li aggiorno o inserisco in base // a quello che ho trovato sul catalogo. setAutoCommit(false); PspBD pspBD = new PspBD(this); List<it.govpay.bd.model.Psp> oldPsps = pspBD.getPsp(); while (!oldPsps.isEmpty()) { it.govpay.model.Psp psp = oldPsps.remove(0); // Cerco il psp nel Catalogo appena ricevuto boolean trovato = false; for (int i = 0; i < catalogoPsp.size(); i++) { if (catalogoPsp.get(i).getCodPsp().equals(psp.getCodPsp())) { // Il psp e' nel catalogo, va aggiornato. // Rimuovo la versione aggiornata dal catalogo e lo mando in update log.debug("Aggiornamento [codPsp: " + psp.getCodPsp() + "]"); ctx.log("psp.aggiornamentoPspAggiornatoPSP", psp.getCodPsp(), psp.getRagioneSociale()); response.add(psp.getRagioneSociale() + " (" + psp.getCodPsp() + ")#Acquisita versione aggiornata."); pspBD.updatePsp(catalogoPsp.get(i)); catalogoPsp.remove(i); trovato = true; break; } } if (!trovato) { // Il psp non e' nel catalogo. // Se era attivo, lo disattivo. if (psp.isAbilitato()) { log.info("Disabilitazione [codPsp: " + psp.getCodPsp() + "]"); ctx.log("psp.aggiornamentoPspDisabilitatoPSP", psp.getCodPsp(), psp.getRagioneSociale()); response.add(psp.getRagioneSociale() + " (" + psp.getCodPsp() + ")#Disabilitato."); pspBD.disablePsp(psp.getId()); } } } // I psp rimasti nel catalogo, sono nuovi e vanno aggiunti for (it.govpay.bd.model.Psp psp : catalogoPsp) { log.info("Inserimento [codPsp: " + psp.getCodPsp() + "]"); ctx.log("psp.aggiornamentoPspInseritoPSP", psp.getCodPsp(), psp.getRagioneSociale()); response.add(psp.getRagioneSociale() + " (" + psp.getCodPsp() + ")#Aggiunto al registro."); pspBD.insertPsp(psp); } commit(); log.info("Aggiornamento Registro PSP completato."); ctx.log("psp.aggiornamentoPspRichiestaOk"); acquisizioneOk = true; break; } catch (Exception e) { log.warn("Errore di acquisizione del Catalogo dati Informativi [Intermediario:" + intermediario.getCodIntermediario() + " Stazione:" + stazione.getCodStazione() + "]", e); ctx.log("psp.aggiornamentoPspRichiestaKo", e.getMessage()); lastError = e; continue; } finally { ctx.closeTransaction(transactionId); } } if (acquisizioneOk) { ctx.log("psp.aggiornamentoPspOk"); if (response.isEmpty()) { return "Acquisizione completata#Nessun psp acquisito."; } else { return StringUtils.join(response, "|"); } } else { log.error("Impossibile aggiornare la lista dei Psp.", lastError); ctx.log("psp.aggiornamentoPspKo", lastError == null ? "[-- No exception found --]" : lastError.getMessage()); return "Acquisizione fallita#Riscontrato errore:" + lastError.getMessage(); } } catch (Throwable se) { rollback(); ctx.log("psp.aggiornamentoPspKo", se.getMessage()); log.error("Impossibile aggiornare la lista dei Psp.", se); throw new GovPayException(se, "Impossibile aggiornare la lista dei Psp."); } finally { ctx.closeTransaction(transactionId); } }