package net.codjo.dataprocess.server.control;
import net.codjo.control.common.AbstractControl;
import net.codjo.control.common.ControlException;
import net.codjo.control.common.Dictionary;
import java.sql.Connection;
/**
*
*/
public class DataProcessJavaControl extends AbstractControl {
private String tableName;
private DataProcessControl dataProcessControl;
public DataProcessJavaControl(String repositoryName, String treatmentId) {
dataProcessControl = new DataProcessControl(repositoryName, treatmentId);
}
public void control(Object obj, Dictionary dico) throws ControlException {
Connection con = getContext().getConnection();
String localTableName = dataProcessControl.getValueFromDico(dico, DataProcessControl.FINAL_TABLE);
if (localTableName == null) {
throw new IllegalArgumentException(
"L'une des entree du dictionnaire est nulle (cf. plan d'integration) :\n"
+ DataProcessControl.FINAL_TABLE + " = " + localTableName);
}
setTableName(localTableName);
dataProcessControl.control(con, dico, new Object[]{new JavaControlParam(dico, getTableName(),
getErrorCode(), obj)});
}
public void setTableName(String value) {
this.tableName = value;
}
public String getTableName() {
return tableName;
}
protected DataProcessControl getDataProcessControl() {
return dataProcessControl;
}
public static class JavaControlParam {
private Dictionary dico;
private String tableName;
private int errorCode;
private Object obj;
public JavaControlParam(Dictionary dico, String tableName, int errorCode, Object obj) {
this.dico = dico;
this.tableName = tableName;
this.errorCode = errorCode;
this.obj = obj;
}
public Dictionary getDico() {
return dico;
}
public String getTableName() {
return tableName;
}
public int getErrorCode() {
return errorCode;
}
public Object getObj() {
return obj;
}
}
}