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.codegen/jet_stub/subprocess_header_java.skeleton
nrousseau 98d7bd1c54 TDI-34694: move resources javajet to another folder. The resources
folder will only be dynamic from now
2015-11-27 15:51:32 +08:00

100 lines
5.2 KiB
Plaintext

public class CLASS
{
// add the list of the connection names to avoid to declare two times the same name.
public String createPrivateClassInstance(INode node, String parentLastRoot, boolean force) {
return createPrivateClassInstance(node, parentLastRoot, force, new HashSet<String>());
}
public String createPrivateClassInstance(INode n, String parentLastRoot, boolean force, Set<String> names) {
String toReturn = "";
// declare root structs (all main outgoing connections)
for (IConnection conn : n.getOutgoingConnections()) {
if (conn.getLineStyle().equals(EConnectionType.FLOW_MAIN) || conn.getLineStyle().equals(EConnectionType.FLOW_MERGE)) {
if ((force)||(n.isSubProcessStart() || !(NodeUtil.isDataAutoPropagated(n)))) {
// new Instance
if (!names.contains(conn.getName())) {
toReturn += conn.getName() + "Struct " + conn.getName() + " = new " + conn.getName()
+ "Struct();\n";
names.add(conn.getName());
parentLastRoot = conn.getName();
}
} else {
// copy
if (!names.contains(conn.getName())) {
toReturn += parentLastRoot + "Struct " + conn.getName() + " = " + parentLastRoot + ";\n";
names.add(conn.getName());
}
}
if(!conn.getTarget().getComponent().useMerge()) {
toReturn += createPrivateClassInstance(conn.getTarget(), parentLastRoot, false, names);
}
} else if (conn.getLineStyle().equals(EConnectionType.ITERATE)||conn.getLineStyle().equals(EConnectionType.ON_ROWS_END)) {
toReturn += createPrivateClassInstance(conn.getTarget(), parentLastRoot, true, names);
}
}
return toReturn;
}
public String createPriveClassMethodDeclaration(INode n, String parentLastRoot, boolean force, Set<String> names) {
String toReturn = "";
// declare root structs (all main outgoing connections)
for (IConnection conn : n.getOutgoingConnections()) {
if (conn.getLineStyle().equals(EConnectionType.FLOW_MAIN) || conn.getLineStyle().equals(EConnectionType.FLOW_MERGE)) {
if ((force)||(n.isSubProcessStart() || !(NodeUtil.isDataAutoPropagated(n)))) {
// new Instance
if (!names.contains(conn.getName())) {
toReturn += conn.getName() + "Struct " + conn.getName() + ",";
names.add(conn.getName());
parentLastRoot = conn.getName();
}
} else {
// copy
if (!names.contains(conn.getName())) {
toReturn += parentLastRoot + "Struct " + conn.getName() + ",";
names.add(conn.getName());
}
}
if(!conn.getTarget().getComponent().useMerge()) {
toReturn += createPriveClassMethodDeclaration(conn.getTarget(), parentLastRoot, false, names);
}
} else if (conn.getLineStyle().equals(EConnectionType.ITERATE)||conn.getLineStyle().equals(EConnectionType.ON_ROWS_END)) {
toReturn += createPriveClassMethodDeclaration(conn.getTarget(), parentLastRoot, true, names);
}
}
return toReturn;
}
public String createPrivateClassMethodInstance(INode n, String parentLastRoot, boolean force, Set<String> names) {
String toReturn = "";
// declare root structs (all main outgoing connections)
for (IConnection conn : n.getOutgoingConnections()) {
if (conn.getLineStyle().equals(EConnectionType.FLOW_MAIN) || conn.getLineStyle().equals(EConnectionType.FLOW_MERGE)) {
if ((force) || (n.isSubProcessStart() || !(NodeUtil.isDataAutoPropagated(n)))) {
// new Instance
if (!names.contains(conn.getName())) {
toReturn += conn.getName() + ",";
names.add(conn.getName());
parentLastRoot = conn.getName();
}
} else {
// copy
if (!names.contains(conn.getName())) {
toReturn += conn.getName() + ",";
names.add(conn.getName());
}
}
if (!conn.getTarget().getComponent().useMerge()) {
toReturn += createPrivateClassMethodInstance(conn.getTarget(), parentLastRoot, false, names);
}
} else if (conn.getLineStyle().equals(EConnectionType.ITERATE)
|| conn.getLineStyle().equals(EConnectionType.ON_ROWS_END)) {
toReturn += createPrivateClassMethodInstance(conn.getTarget(), parentLastRoot, true, names);
}
}
return toReturn;
}
public String generate(Object argument) {
return "";
}
}