<%@ jet imports=" org.talend.core.model.process.INode org.talend.core.model.process.ElementParameterParser org.talend.core.model.metadata.IMetadataTable org.talend.designer.codegen.config.CodeGeneratorArgument java.util.List java.util.Map " %> <% CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode)codeGenArgument.getArgument(); String accessKey = ElementParameterParser.getValue(node, "__ACCESSKEY__"); String secretKey = ElementParameterParser.getValue(node, "__SECRETKEY__"); String bucket = ElementParameterParser.getValue(node, "__BUCKET__"); String subDirObjectKey = ElementParameterParser.getValue(node, "__SUBDIRECTORY_OBJECT__"); String objectKey = ElementParameterParser.getValue(node, "__OBJECT__"); String fileName = ElementParameterParser.getValue(node, "__FILENAME__"); String override = ElementParameterParser.getValue(node, "__OVERRIDE__"); if (subDirObjectKey!=null && !"\"\"".equals(subDirObjectKey) && subDirObjectKey.length()>1) subDirObjectKey = subDirObjectKey +"+ \"/\""; String cid = node.getUniqueName(); String connectMode = ElementParameterParser.getValue(node,"__CONNECT_MODE__"); %> int nb_file_<%=cid%> = 0; com.amazon.s3.AWSAuthConnection AWSAuthConnection<%=cid %> =null; <% String useExistingConn = ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__"); if(useExistingConn.equals("true")){ String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); String conn= "conn_" + connection; %> AWSAuthConnection<%=cid %> = (com.amazon.s3.AWSAuthConnection)globalMap.get("<%=conn %>"); <%}else{%> AWSAuthConnection<%=cid %> = new com.amazon.s3.AWSAuthConnection(<%=accessKey%>,<%=secretKey%>); <%} %> java.util.Map> lHeaders_<%=cid%> = new java.util.TreeMap>(); lHeaders_<%=cid%>.put("Content-Type", java.util.Arrays.asList(new String[] { "text/plain" })); try { java.io.File lFile = new java.io.File(<%=fileName%>+"/"+<%=objectKey%>); if (!<%=override%> && lFile.exists()) throw new com.ysance.s3.exception.S3ObjectAlreadyExistException("The file "+<%=fileName%>+"/"+<%=objectKey%>+" already exists localy"); byte[] bytes = AWSAuthConnection<%=cid %>.get(<%=bucket%>, <%=subDirObjectKey%>+<%=objectKey%>, null).object.data; try { java.io.FileOutputStream fos = new java.io.FileOutputStream(lFile); fos.write(bytes); fos.flush(); fos.close(); } catch (Exception e) { e.printStackTrace(); } } catch (java.io.IOException ioe) { if ("Connection refused: connect".equals(ioe.getMessage())) throw new com.ysance.s3.exception.S3ConnectionException(ioe.getMessage()); else throw new com.ysance.s3.exception.S3BucketCreateException(ioe.getMessage()); }