private String getInitialPedigreePDF(List data, String pedigreeID) { // TODO Auto-generated method stub try { // StringBuffer buff = new StringBuffer(); // buff.append("for $i in // collection('tig:///ePharma/PaperPedigree')/initialPedigree[DocumentInfo/serialNumber = // '31393843945529672246633950583774'] return $i/altPedigree/data/string()"); // List data = queryRunner.executeQuery(buff.toString()); System.out.println("Result : " + data.get(0).getClass().getName()); InputStream stream = (ByteArrayInputStream) data.get(0); byte[] data1 = new byte[128]; ; File file = new File(getBaseDirectory() + "/out/InitialPedigree.pdf"); file.createNewFile(); FileOutputStream fos = new FileOutputStream(file); DataOutputStream dos = new DataOutputStream(fos); int x = stream.read(data1); while (x != -1) { // byte[] decoded = Base64.decode(data1); dos.write(data1); data1 = new byte[128]; x = stream.read(data1); } stream.close(); dos.close(); fos.close(); return file.getAbsolutePath(); } catch (Exception e) { // TODO Auto-generated catch block try { SendDHFormEmail.sendMailToSupport( "*****@*****.**", "*****@*****.**", "smarthost.coxmail.com", "Error in Create PDF", e.getMessage(), "*****@*****.**", "60empire"); e.printStackTrace(); } catch (Exception ex) { } e.printStackTrace(); return null; } }
private String createRepackagePDF(String pedigreeID, String str) { // TODO Auto-generated method stub String[] filePath = new String[2]; String mergeFilePath = ""; try { System.out.println(" here in sendRepackagePDF....." + str); String xmlString = getRepackageXSLString(str, pedigreeID, getBaseDirectory().getAbsolutePath()); boolean checkMan = checkManufacturer(str); File baseDir = getBaseDirectory(); File outDir = new File(baseDir, "out"); outDir.mkdirs(); // Setup input and output files File xmlfile = File.createTempFile("User", ".xml"); // xmlfile.createNewFile(); // Delete temp file when program exits. xmlfile.deleteOnExit(); // Write to temp file BufferedWriter bw = new BufferedWriter(new FileWriter(xmlfile)); bw.write(xmlString); bw.close(); File xsltfile = null; if (checkMan) { xsltfile = new File(baseDir, "/xsl/repackFromManufaturer.fo"); } else { xsltfile = new File(baseDir, "/xsl/repackFromWholesaler.fo"); } File pdffile = new File(outDir, "repack.pdf"); // Construct fop with desired output format Fop fop = new Fop(MimeConstants.MIME_PDF); // Setup output OutputStream out = new java.io.FileOutputStream(pdffile); out = new java.io.BufferedOutputStream(out); fop.setOutputStream(out); // Setup XSLT TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(new StreamSource(xsltfile)); // Set the value of a <param> in the stylesheet transformer.setParameter("versionParam", "2.0"); // Setup input for XSLT transformation Source src = new StreamSource(xmlfile); // Resulting SAX events (the generated FO) must be piped through to FOP Result res = new SAXResult(fop.getDefaultHandler()); // Start XSLT transformation and FOP processing transformer.transform(src, res); out.close(); filePath[0] = pdffile.getAbsolutePath(); if (!checkMan) { /* String query = "for $i in collection('tig:///ePharma/ShippedPedigree')/*:pedigreeEnvelope/*:pedigree/*:shippedPedigree[*:documentInfo/*:serialNumber = '"+pedigreeID+"']/*:repackagedPedigree/*:previousPedigrees/*:initialPedigree "; query = query + "return tlsp:GetBinaryImageForServlet(binary{$i/*:altPedigree/*:data},'data')";*/ String query = "for $i in collection('tig:///ePharma_MD/ShippedPedigree')/*:pedigreeEnvelope/*:pedigree/*:shippedPedigree "; query = query + "where $i/*:documentInfo/*:serialNumber = '" + pedigreeID + "' "; query = query + "return if(exists($i//*:initialPedigree/*:altPedigree)) then tlsp:GetBinaryImageForServlet(binary{$i//*:initialPedigree/*:altPedigree/*:data},'data') else ()"; System.out.println("Query : " + query); List initialStatus = queryRunner.executeQuery(query); if (initialStatus != null && initialStatus.size() > 0) { // String initialStatus = queryRunner.returnExecuteQueryStringsAsString(query); filePath[1] = getInitialPedigreePDF(initialStatus, str); // filePath[1] = getInitialPedigreePDF1(initialStatus,str); System.out.println("file path : " + filePath[1]); mergeFilePath = mergePDF(filePath[1], filePath[0]); } } else mergeFilePath = pdffile.getAbsolutePath(); System.out.println(" file path : " + mergeFilePath); } catch (Exception e) { try { SendDHFormEmail.sendMailToSupport( "*****@*****.**", "*****@*****.**", "smarthost.coxmail.com", "Error in Create PDF", e.getMessage(), "*****@*****.**", "60empire"); e.printStackTrace(); } catch (Exception ex) { } // TODO Auto-generated catch block e.printStackTrace(); } return mergeFilePath; }