📄 abstractengine.java
字号:
package org.speedframework.engine;
import org.apache.log4j.Logger;
import org.speedframework.action.*;
import org.speedframework.application.IApplication;
import org.speedframework.application.ISourceBuilderFactory;
import org.speedframework.connection.IConnectionAdaptor;
import org.speedframework.entity.ParamEntity;
import org.speedframework.exception.SpeedFrameworkException;
import org.speedframework.message.IMessage;
import org.speedframework.message.SynchronousDBTypeMessage;
import org.speedframework.message.SynchronousSaveMessage;
import org.speedframework.message.state.IState;
import org.speedframework.utilities.SpeedFrameworkUtility;
import java.io.Serializable;
import java.sql.Connection;
import java.util.List;
public abstract class AbstractEngine implements Engine {
protected static final Logger log = Logger.getLogger(AbstractEngine.class);
protected static SpeedFrameworkUtility utility = new SpeedFrameworkUtility();
protected IApplication application = null;
protected IConnectionAdaptor connectionAdaptor = null;
protected boolean useCache = true;
protected IActionBuilderFactory actionFactory;
protected ISourceBuilderFactory applicationFactory;
public void setApplicationID(String applicationID)
throws SpeedFrameworkException {
application = utility.getApplication(applicationID,
this.applicationFactory.getApplicationClass());
application.setApplicationBuilderFactory(applicationFactory);
}
public Connection getConnection(boolean commit)
throws SpeedFrameworkException {
IMessage message = new SynchronousDBTypeMessage();
IConnectionAction action = this.actionFactory.getConnectionAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setCommit(commit);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
return (Connection) message.getPojos();
}
public String getDateBaseVersion() throws SpeedFrameworkException {
IMessage message = new SynchronousDBTypeMessage();
IDateBaseVersionAction action = this.actionFactory.getDateBaseAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
// entity.setEntity(pojo);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
return message.getPojos().toString();
}
public Object save(Object pojo) throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
IInsertAction action = this.actionFactory.getInsertAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setEntity(pojo);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
// String id=(String) message.getPojos();
// Object obj=this.load(pojo.getClass(), id);
// if (state.getState() == IState.FINISH) {
// return (IPOJO) ((List) message.getPojos()).get(0);
// }
return message.getPojos();
}
public void commit() throws SpeedFrameworkException {
IMessage message = new SynchronousDBTypeMessage();
ICommitAction action = this.actionFactory.getCommitAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
}
public void rollback() throws SpeedFrameworkException {
IMessage message = new SynchronousDBTypeMessage();
IRollbackAction action = this.actionFactory.getRollbackAction();
// IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
// message.setState(state);
// message.addPojo(pojo);
ParamEntity entity = new ParamEntity();
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
}
public void closeEngine() throws SpeedFrameworkException {
IMessage message = new SynchronousDBTypeMessage();
ICloseAction action = this.actionFactory.getCloseAction();
// IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
ParamEntity entity = new ParamEntity();
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
}
public Object load(Class loadclass, Serializable id)
throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
ILoadAction action = this.actionFactory.getLoadAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setLoadclass(loadclass);
entity.setId(id);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
// message.addPojo(id);
application.dealMessage(message);
return message.getPojos();
}
public Object update(Object pojo) throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
IUpdateAction action = this.actionFactory.getUpdateAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setEntity(pojo);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
return message.getPojos();
}
public void delete(Object pojo) throws SpeedFrameworkException {
IMessage message = new SynchronousDBTypeMessage();
IDeleteAction action = this.actionFactory.getDeleteAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setEntity(pojo);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
}
public void executeBatch(String SQL, Object[][] params)
throws SpeedFrameworkException {
IMessage message = new SynchronousDBTypeMessage();
IExecuteBatchAction action = this.actionFactory.getExecuteBatchAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setSQL(SQL);
entity.setParams(params);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
}
public String getSequences(String SeqName) throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
ISequencesAction action = this.actionFactory.getSequencesAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setEntity(SeqName);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
return message.getPojos().toString();
}
public void setUseCacheStatus(boolean useCache) {
this.useCache = useCache;
}
public boolean getUseCacheStatus() {
return this.useCache;
}
public Object executeFunctionCall(String SQL, Object[] params,
int returnType) throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
IExecuteFunctionAction action = actionFactory
.getExecuteFunctionAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setSQL(SQL);
entity.setParam(params);
entity.setReturnType(returnType);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
return message.getPojos();
}
public List executeProcedureCall(String SQL, Object[] params, Class voclass)
throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
IExecuteProcedureAction action = actionFactory
.getExecuteProcedureAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setSQL(SQL);
entity.setParam(params);
entity.setLoadclass(voclass);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
return (List) message.getPojos();
}
public void executeProcedureCall(String SQL, Object[] params)
throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
IExecuteProcedureAction action = actionFactory
.getExecuteProcedureAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setSQL(SQL);
entity.setParam(params);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
}
public void executeSpecialSQL(String SQL, Object[] params)
throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
IExecuteSpecialAction action = actionFactory.getExecuteSpecialAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setSQL(SQL);
entity.setParam(params);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -