This repository has been archived on 2025-12-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
tdi-studio-se/main/plugins/org.talend.designer.components.localprovider/components/tFileOutputJSON/tFileOutputJSON_main.javajet
CHEN Bin b1913dadf2 TDI-28488: [LOG4J] - ZHOU JunJie's components
https://jira.talendforge.org/browse/TDI-28488
remove duplicate log4j for all the components by ZHOU JunJie
1. TDI-28712: Add log for tLDAP** components
2. TDI-28761: Add log for mail components for mail components (tPop,tSendMail...)
3. TDI-28861: Add log for tPalo components
4. TDI-29136: Add log for EBCDIC,tFileFetch,tHttprequest components
5. TDI-29155: add log for tSPSS components
2014-09-22 16:12:47 +08:00

79 lines
2.6 KiB
Plaintext

<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.designer.codegen.config.CodeGeneratorArgument
java.util.List
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.process.ElementParameterParser
"
%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
String cid = node.getUniqueName();
List<IMetadataTable> metadatas = node.getMetadataList();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
%>
org.json.simple.JSONObject jsonRow<%=cid%> = new org.json.simple.JSONObject();
<%
List< ? extends IConnection> conns = node.getIncomingConnections();
for (IConnection conn : conns) {
if ((metadatas!=null)&&(metadatas.size()>0)) {
IMetadataTable metadata = metadatas.get(0);
if (metadata!=null) {
List<IMetadataColumn> columns = metadata.getListColumns();
int sizeColumns = columns.size();
for (int i = 0; i < sizeColumns; i++) {
IMetadataColumn column = columns.get(i);
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
boolean isPrimitive = JavaTypesManager.isJavaPrimitiveType(javaType, column.isNullable());
if(!isPrimitive){
%>
if(<%=conn.getName()%>.<%=column.getLabel()%> != null){
<%
}
if (javaType == JavaTypesManager.DATE && column.getPattern() != null && column.getPattern().trim().length() != 0) {
String pattern = column.getPattern();
%>
jsonRow<%=cid%>.put("<%=column.getLabel()%>",FormatterUtils.format_Date(<%=conn.getName()%>.<%=column.getLabel()%>, <%=pattern%>));
<%
}else if(javaType == JavaTypesManager.CHARACTER){
%>
jsonRow<%=cid%>.put("<%=column.getLabel()%>", String.valueOf(<%=conn.getName()%>.<%=column.getLabel()%>));
<%
}else{
%>
jsonRow<%=cid%>.put("<%=column.getLabel()%>", <%=conn.getName()%>.<%=column.getLabel()%>);
<%
}
if(!isPrimitive){
%>
}else{
jsonRow<%=cid%>.put("<%=column.getLabel()%>", null);
}
<%
}
}
}
}
}
%>
if(!isFirst_<%=cid%>){
out<%=cid%>.append(",");
}
isFirst_<%=cid%> = false;
out<%=cid%>.append(jsonRow<%=cid%>.toJSONString());
nb_line_<%=cid %>++;
<%if(isLog4jEnabled){%>
log.debug("<%=cid%> - Writing the record " + nb_line_<%=cid%> + ".");
<%}%>