
prerna.sablecc2.FormWidgetTranslation Maven / Gradle / Ivy
The newest version!
package prerna.sablecc2;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import prerna.sablecc2.analysis.DepthFirstAdapter;
import prerna.sablecc2.node.ANoun;
import prerna.sablecc2.node.AOperation;
import prerna.sablecc2.node.ARoutineConfiguration;
import prerna.sablecc2.node.AScalarRegTerm;
import prerna.sablecc2.node.PRoutine;
public class FormWidgetTranslation extends DepthFirstAdapter {
private static final Logger LOGGER = LogManager.getLogger(DashboardRecipeTranslation.class.getName());
private List into = new Vector();
private List values = new Vector();
private boolean isInsert = false;
private boolean isInto = false;
private boolean isValues = false;
@Override
public void caseARoutineConfiguration(ARoutineConfiguration node) {
List copy = new ArrayList(node.getRoutine());
for (PRoutine e : copy) {
// String expression = e.toString();
// LOGGER.info("Processing " + expression);
e.apply(this);
}
}
@Override
public void inAOperation(AOperation node) {
String reactorId = node.getId().toString().trim();
if (reactorId.equals("Insert")) {
isInsert = true;
}
}
@Override
public void outAOperation(AOperation node) {
isInsert = false;
}
@Override
public void inANoun(ANoun node) {
if (isInsert) {
String id = node.getId().toString().trim();
if (id.equals("into")) {
isInto = true;
} else if (id.equals("values")) {
isValues = true;
}
}
}
@Override
public void outANoun(ANoun node) {
isInto = false;
isValues = false;
}
@Override
public void inAScalarRegTerm(AScalarRegTerm node) {
if (isInto) {
into.add(node.toString().trim());
} else if (isValues) {
// clean up param string "" -> param
values.add(node.toString().trim().replace("\"", "").replace("<", "").replace(">", ""));
}
}
public List getInto() {
return into;
}
public List getValues() {
return values;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy